@@ -4,7 +4,7 @@ import useId from '@rc-component/util/lib/hooks/useId';
44import type { IconType } from '@rc-component/tree/lib/interface' ;
55import type { ExpandAction } from '@rc-component/tree/lib/Tree' ;
66import { conductCheck } from '@rc-component/tree/lib/utils/conductUtil' ;
7- import useMergedState from '@rc-component/util/lib/hooks/useMergedState ' ;
7+ import useControlledState from '@rc-component/util/lib/hooks/useControlledState ' ;
88import * as React from 'react' ;
99import useCache from './hooks/useCache' ;
1010import useCheckedKeys from './hooks/useCheckedKeys' ;
@@ -224,7 +224,7 @@ const TreeSelect = React.forwardRef<BaseSelectRef, TreeSelectProps>((props, ref)
224224 treeNodeFilterProp = 'value' ,
225225 } = searchConfig ;
226226
227- const [ internalValue , setInternalValue ] = useMergedState ( defaultValue , { value } ) ;
227+ const [ internalValue , setInternalValue ] = useControlledState ( defaultValue , value ) ;
228228
229229 // `multiple` && `!treeCheckable` should be show all
230230 const mergedShowCheckedStrategy = React . useMemo ( ( ) => {
@@ -249,10 +249,8 @@ const TreeSelect = React.forwardRef<BaseSelectRef, TreeSelectProps>((props, ref)
249249 ) ;
250250
251251 // =========================== Search ===========================
252- const [ mergedSearchValue , setSearchValue ] = useMergedState ( '' , {
253- value : searchValue ,
254- postState : search => search || '' ,
255- } ) ;
252+ const [ internalSearchValue , setSearchValue ] = useControlledState ( '' , searchValue ) ;
253+ const mergedSearchValue = internalSearchValue || '' ;
256254
257255 const onInternalSearch = searchText => {
258256 setSearchValue ( searchText ) ;
0 commit comments