From 742dfb6bc7cbe21e1430ce99ec3c5bbfe8cd9b9a Mon Sep 17 00:00:00 2001 From: Kermit Date: Thu, 3 Sep 2020 21:47:20 +0800 Subject: [PATCH] fix: should clear hover style of input when selecting the same value --- src/RangePicker.tsx | 6 ++++++ tests/__snapshots__/picker.spec.tsx.snap | 2 +- tests/__snapshots__/range.spec.tsx.snap | 2 +- tests/range.spec.tsx | 24 ++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/RangePicker.tsx b/src/RangePicker.tsx index 2c60b7bb2..d994761ce 100644 --- a/src/RangePicker.tsx +++ b/src/RangePicker.tsx @@ -1011,6 +1011,12 @@ function InnerRangePicker(props: RangePickerProps) { if (type === 'submit' || (type !== 'key' && !needConfirmButton)) { // triggerChange will also update selected values triggerChange(values, mergedActivePickerIndex); + // clear hover value style + if (mergedActivePickerIndex === 0) { + onStartLeave(null); + } else { + onEndLeave(null); + } } else { setSelectedValue(values); } diff --git a/tests/__snapshots__/picker.spec.tsx.snap b/tests/__snapshots__/picker.spec.tsx.snap index dacf55ac3..b5278a8bd 100644 --- a/tests/__snapshots__/picker.spec.tsx.snap +++ b/tests/__snapshots__/picker.spec.tsx.snap @@ -48,7 +48,7 @@ Array [
{ expect(wrapper.find('.rc-picker-ok button').props().disabled).toBeTruthy(); }); + // https://github.com/ant-design/ant-design/issues/26544 + it('should clean hover style when selecting the same value with last value', () => { + const wrapper = mount( + , + ); + + wrapper.openPicker(); + + wrapper.selectCell(24, 0); + expect( + wrapper + .find('input') + .first() + .prop('value'), + ).toBe('2020-07-24'); + expect( + wrapper + .find('input') + .first() + .hasClass('rc-picker-input-placeholder'), + ).toBeFalsy(); + expect(wrapper.isOpen()).toBeTruthy(); + }); + // https://github.com/ant-design/ant-design/issues/26024 it('panel should keep open when nextValue is empty', () => { const wrapper = mount();