Skip to content

Commit df85b15

Browse files
authored
fix: Select value cannot be forcefully cleared (#8880)
1 parent eba6cc0 commit df85b15

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

packages/@react-stately/select/src/useSelectState.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,10 @@ export function useSelectState<T extends object, M extends SelectionMode = 'sing
8383
let triggerState = useOverlayTriggerState(props);
8484
let [focusStrategy, setFocusStrategy] = useState<FocusStrategy | null>(null);
8585
let defaultValue = useMemo(() => {
86-
return props.defaultValue ?? (selectionMode === 'single' ? props.defaultSelectedKey ?? null : []) as ValueType<M>;
86+
return props.defaultValue !== undefined ? props.defaultValue : (selectionMode === 'single' ? props.defaultSelectedKey ?? null : []) as ValueType<M>;
8787
}, [props.defaultValue, props.defaultSelectedKey, selectionMode]);
8888
let value = useMemo(() => {
89-
return props.value ?? (selectionMode === 'single' ? props.selectedKey : undefined) as ValueType<M>;
89+
return props.value !== undefined ? props.value : (selectionMode === 'single' ? props.selectedKey : undefined) as ValueType<M>;
9090
}, [props.value, props.selectedKey, selectionMode]);
9191
let [controlledValue, setControlledValue] = useControlledState<Key | Key[] | null>(value, defaultValue, props.onChange as any);
9292
// Only display the first selected item if in single selection mode but the value is an array.

0 commit comments

Comments
 (0)