Skip to content

Commit c04ea05

Browse files
authored
fix: should clear hover style of input when selecting the same value (#136)
1 parent f5a55c5 commit c04ea05

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

src/RangePicker.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,6 +1011,12 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
10111011
if (type === 'submit' || (type !== 'key' && !needConfirmButton)) {
10121012
// triggerChange will also update selected values
10131013
triggerChange(values, mergedActivePickerIndex);
1014+
// clear hover value style
1015+
if (mergedActivePickerIndex === 0) {
1016+
onStartLeave(null);
1017+
} else {
1018+
onEndLeave(null);
1019+
}
10141020
} else {
10151021
setSelectedValue(values);
10161022
}

tests/__snapshots__/picker.spec.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Array [
4848
<div>
4949
<div
5050
class="rc-picker-dropdown"
51-
style="opacity: 0;"
51+
style="opacity: 0; pointer-events: none;"
5252
>
5353
<div
5454
class="rc-picker-panel-container"

tests/__snapshots__/range.spec.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Array [
130130
<div>
131131
<div
132132
class="rc-picker-dropdown rc-picker-dropdown-range"
133-
style="opacity: 0;"
133+
style="opacity: 0; pointer-events: none;"
134134
>
135135
<div
136136
class="rc-picker-range-wrapper rc-picker-date-range-wrapper"

tests/range.spec.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,6 +1699,30 @@ describe('Picker.Range', () => {
16991699
expect(wrapper.find('.rc-picker-ok button').props().disabled).toBeTruthy();
17001700
});
17011701

1702+
// https://github.com/ant-design/ant-design/issues/26544
1703+
it('should clean hover style when selecting the same value with last value', () => {
1704+
const wrapper = mount(
1705+
<MomentRangePicker defaultValue={[getMoment('2020-07-24'), getMoment('2020-08-24')]} />,
1706+
);
1707+
1708+
wrapper.openPicker();
1709+
1710+
wrapper.selectCell(24, 0);
1711+
expect(
1712+
wrapper
1713+
.find('input')
1714+
.first()
1715+
.prop('value'),
1716+
).toBe('2020-07-24');
1717+
expect(
1718+
wrapper
1719+
.find('input')
1720+
.first()
1721+
.hasClass('rc-picker-input-placeholder'),
1722+
).toBeFalsy();
1723+
expect(wrapper.isOpen()).toBeTruthy();
1724+
});
1725+
17021726
// https://github.com/ant-design/ant-design/issues/26024
17031727
it('panel should keep open when nextValue is empty', () => {
17041728
const wrapper = mount(<MomentRangePicker />);

0 commit comments

Comments
 (0)