From d6c84c393c589a0f78a432f64464293c1fc1d6c0 Mon Sep 17 00:00:00 2001 From: vaynevayne <124666577+vaynevayne@users.noreply.github.com> Date: Sat, 10 Jun 2023 13:44:54 +0800 Subject: [PATCH 1/3] fix: autoClearSearchValue invalid resolve https://github.com/react-component/select/issues/947 --- src/Select.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Select.tsx b/src/Select.tsx index c5b5ad1b..cea0bb93 100644 --- a/src/Select.tsx +++ b/src/Select.tsx @@ -544,7 +544,7 @@ const Select = React.forwardRef( const newRawValues = Array.from(new Set([...rawValues, formatted])); triggerChange(newRawValues); triggerSelect(formatted, true); - setSearchValue(''); + if(autoClearSearchValue) setSearchValue(''); } return; From 505deafc42b72ddd59489ec1d16cfc27498aa18b Mon Sep 17 00:00:00 2001 From: vaynevayne <124666577+vaynevayne@users.noreply.github.com> Date: Sat, 10 Jun 2023 16:49:01 +0800 Subject: [PATCH 2/3] Update Select.tsx --- src/Select.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Select.tsx b/src/Select.tsx index cea0bb93..7946abc9 100644 --- a/src/Select.tsx +++ b/src/Select.tsx @@ -544,7 +544,9 @@ const Select = React.forwardRef( const newRawValues = Array.from(new Set([...rawValues, formatted])); triggerChange(newRawValues); triggerSelect(formatted, true); - if(autoClearSearchValue) setSearchValue(''); + if(autoClearSearchValue) { + setSearchValue(''); + } } return; From a82fc0553c271d939647f326a384e8b3305352a1 Mon Sep 17 00:00:00 2001 From: yxf <1848212420@qq.com> Date: Sat, 10 Jun 2023 19:15:48 +0800 Subject: [PATCH 3/3] fix: autoSearchValue invalid testcase --- tests/Select.test.tsx | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/Select.test.tsx b/tests/Select.test.tsx index 787a511e..260d1be0 100644 --- a/tests/Select.test.tsx +++ b/tests/Select.test.tsx @@ -2040,4 +2040,40 @@ describe('Select.Basic', () => { const { container } = testingRender(, + ); + wrapper.setProps({autoClearSearchValue:false}) + wrapper.find('input').simulate('change', { target: { value: 'Two2' } }); + selectItem(wrapper, ); + expect(wrapper.find('input').prop('value')).toBe('Two2'); + }); + + it('autoClearSearchValue true', () => { + const wrapper = mount( +