diff --git a/src/PickerPanel.tsx b/src/PickerPanel.tsx index 9c7224691..381af0cde 100644 --- a/src/PickerPanel.tsx +++ b/src/PickerPanel.tsx @@ -101,7 +101,8 @@ export type PickerPanelDateProps = { export type PickerPanelTimeProps = { picker: 'time'; -} & PickerPanelSharedProps & SharedTimeProps; +} & PickerPanelSharedProps & + SharedTimeProps; export type PickerPanelProps = | PickerPanelBaseProps @@ -208,12 +209,16 @@ function PickerPanel(props: PickerPanelProps) { // When value is null and set showTime if (!mergedValue && showTime) { if (typeof showTime === 'object') { - return setDateTime(generateConfig, date, showTime.defaultValue || now); + return setDateTime( + generateConfig, + Array.isArray(date) ? date[0] : date, + showTime.defaultValue || now, + ); } if (defaultValue) { - return setDateTime(generateConfig, date, defaultValue); + return setDateTime(generateConfig, Array.isArray(date) ? date[0] : date, defaultValue); } - return setDateTime(generateConfig, date, now); + return setDateTime(generateConfig, Array.isArray(date) ? date[0] : date, now); } return date; }, diff --git a/src/RangePicker.tsx b/src/RangePicker.tsx index b695359a2..fc4031c0c 100644 --- a/src/RangePicker.tsx +++ b/src/RangePicker.tsx @@ -848,7 +848,7 @@ function InnerRangePicker(props: RangePickerProps) { defaultValue={ mergedActivePickerIndex === 0 ? getValue(selectedValue, 1) : getValue(selectedValue, 0) } - defaultPickerValue={undefined} + // defaultPickerValue={undefined} /> ); diff --git a/tests/range.spec.tsx b/tests/range.spec.tsx index 3c6742771..b86346622 100644 --- a/tests/range.spec.tsx +++ b/tests/range.spec.tsx @@ -31,7 +31,16 @@ describe('Picker.Range', () => { matchValues(wrapper, '1989-11-28', '1990-09-03'); }); + it('defaultPickerValue with showTime', () => { + const startDate = getMoment('1982-02-12'); + const endDate = getMoment('1982-02-12'); + const wrapper = mount( + , + ); + wrapper.openPicker(); + expect(wrapper.find('.rc-picker-year-btn').first().text()).toEqual(startDate.format('YYYY')); + }); it('controlled', () => { const wrapper = mount( ,