From 3bfa10864b1e80d0418e3ac3679d3cbdcd2c971e Mon Sep 17 00:00:00 2001 From: zenggpzqbx Date: Sat, 20 Dec 2025 22:59:11 +0800 Subject: [PATCH 1/2] fix(Select): automatically clear searchValue --- src/BaseSelect/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BaseSelect/index.tsx b/src/BaseSelect/index.tsx index cb2ac94a..fb7cd117 100644 --- a/src/BaseSelect/index.tsx +++ b/src/BaseSelect/index.tsx @@ -428,7 +428,7 @@ const BaseSelect = React.forwardRef((props, ref) // Close will clean up single mode search text React.useEffect(() => { - if (!mergedOpen && !multiple && mode !== 'combobox') { + if (!mergedOpen && !multiple && mode !== 'combobox' && displayValues?.length) { onInternalSearch('', false, false); } }, [mergedOpen]); From 16767e486bfca56799d90e38852f1a99b1427c07 Mon Sep 17 00:00:00 2001 From: zenggpzqbx Date: Tue, 23 Dec 2025 22:45:51 +0800 Subject: [PATCH 2/2] fix(Select): automatically clear searchValue --- tests/Select.test.tsx | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/Select.test.tsx b/tests/Select.test.tsx index ce920b2b..3d21060e 100644 --- a/tests/Select.test.tsx +++ b/tests/Select.test.tsx @@ -76,6 +76,43 @@ describe('Select.Basic', () => { expectOpen(container); }); + it('should not clear searchValue', () => { + const App: React.FC = () => { + const [options, setOptions] = React.useState<{ label: string; value: string }[]>([]); + const [isFetching, setIsFetching] = React.useState(false); + + function handleSearch() { + setIsFetching(true); + setTimeout(() => { + setOptions([]); + setIsFetching(false); + }, 1000); + } + + return ( +