Skip to content

Commit d6adf3d

Browse files
committed
fix: Change picker should also reset mode
fix ant-design/ant-design#20868
1 parent 666b82e commit d6adf3d

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/RangePicker.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,10 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
308308
},
309309
);
310310

311+
React.useEffect(() => {
312+
setInnerModes([picker, picker]);
313+
}, [picker]);
314+
311315
const triggerModesChange = (
312316
modes: [PanelMode, PanelMode],
313317
values: RangeValue<DateType>,

tests/range.spec.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,4 +1033,16 @@ describe('Picker.Range', () => {
10331033
},
10341034
);
10351035
});
1036+
1037+
// https://github.com/ant-design/ant-design/issues/20868
1038+
it('change picker should reset mode', () => {
1039+
const wrapper = mount(<MomentRangePicker picker="date" />);
1040+
wrapper.openPicker();
1041+
expect(wrapper.find('DatePanel').length).toBeTruthy();
1042+
1043+
wrapper.setProps({ picker: 'month' });
1044+
wrapper.update();
1045+
expect(wrapper.find('DatePanel').length).toBeFalsy();
1046+
expect(wrapper.find('MonthPanel').length).toBeTruthy();
1047+
});
10361048
});

0 commit comments

Comments
 (0)