From df85b152a3a5647195e5671d79a51dc4d87e89bf Mon Sep 17 00:00:00 2001 From: XiaoYan Li Date: Fri, 26 Sep 2025 16:42:08 +0800 Subject: [PATCH] fix: Select value cannot be forcefully cleared (#8880) --- packages/@react-stately/select/src/useSelectState.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@react-stately/select/src/useSelectState.ts b/packages/@react-stately/select/src/useSelectState.ts index c15f1b8978f..70e2c14802f 100644 --- a/packages/@react-stately/select/src/useSelectState.ts +++ b/packages/@react-stately/select/src/useSelectState.ts @@ -83,10 +83,10 @@ export function useSelectState; + return props.defaultValue !== undefined ? props.defaultValue : (selectionMode === 'single' ? props.defaultSelectedKey ?? null : []) as ValueType; }, [props.defaultValue, props.defaultSelectedKey, selectionMode]); let value = useMemo(() => { - return props.value ?? (selectionMode === 'single' ? props.selectedKey : undefined) as ValueType; + return props.value !== undefined ? props.value : (selectionMode === 'single' ? props.selectedKey : undefined) as ValueType; }, [props.value, props.selectedKey, selectionMode]); let [controlledValue, setControlledValue] = useControlledState(value, defaultValue, props.onChange as any); // Only display the first selected item if in single selection mode but the value is an array.