From 2ccfc9feca84dce2f23427b9731705785435fe88 Mon Sep 17 00:00:00 2001 From: Kermit Date: Sun, 20 Sep 2020 20:30:31 +0800 Subject: [PATCH] chore(range): panel defaultValue should be relative to startDate/endDate; --- src/RangePicker.tsx | 4 +++- tests/range.spec.tsx | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/RangePicker.tsx b/src/RangePicker.tsx index f7268b1a3..418ac9d95 100644 --- a/src/RangePicker.tsx +++ b/src/RangePicker.tsx @@ -819,7 +819,9 @@ function InnerRangePicker(props: RangePickerProps) { onOk={null} onSelect={undefined} onChange={undefined} - defaultValue={undefined} + defaultValue={ + mergedActivePickerIndex === 0 ? getValue(selectedValue, 1) : getValue(selectedValue, 0) + } defaultPickerValue={undefined} /> diff --git a/tests/range.spec.tsx b/tests/range.spec.tsx index 3f4c1bcea..fcb83cf61 100644 --- a/tests/range.spec.tsx +++ b/tests/range.spec.tsx @@ -1863,4 +1863,41 @@ describe('Picker.Range', () => { expect(wrapper.findCell('Jan').hasClass('rc-picker-cell-disabled')).toBeTruthy(); expect(wrapper.findCell('Dec').hasClass('rc-picker-cell-disabled')).toBeFalsy(); }); + + // https://github.com/ant-design/ant-design/issues/23167 + it('default endDate should be relative startDate', () => { + const wrapper = mount(); + wrapper.openPicker(); + + wrapper.selectCell(24); + wrapper.find('.rc-picker-ok button').simulate('click'); + + wrapper + .find('ul') + .first() + .find('li') + .at(0) + .simulate('click'); + wrapper.find('.rc-picker-ok button').simulate('click'); + + matchValues(wrapper, '1990-09-24 00:00:00', '1990-09-24 00:00:00'); + }); + + it('default startDate should be relative endDate', () => { + const wrapper = mount(); + wrapper.openPicker(1); + + wrapper.selectCell(24); + wrapper.find('.rc-picker-ok button').simulate('click'); + + wrapper + .find('ul') + .first() + .find('li') + .at(0) + .simulate('click'); + wrapper.find('.rc-picker-ok button').simulate('click'); + + matchValues(wrapper, '1990-09-24 00:00:00', '1990-09-24 00:00:00'); + }); });