diff --git a/src/PickerPanel/TimePanel/TimePanelBody/index.tsx b/src/PickerPanel/TimePanel/TimePanelBody/index.tsx index 2db0f097b..3a186a5ea 100644 --- a/src/PickerPanel/TimePanel/TimePanelBody/index.tsx +++ b/src/PickerPanel/TimePanel/TimePanelBody/index.tsx @@ -145,7 +145,7 @@ export default function TimePanelBody( // ========================= Column ========================= // Create a template date for the trigger change event const triggerDateTmpl = React.useMemo(() => { - let tmpl = pickerValue || generateConfig.getNow(); + let tmpl = value || pickerValue || generateConfig.getNow(); const isNotNull = (num: number) => num !== null && num !== undefined; @@ -168,6 +168,7 @@ export default function TimePanelBody( return tmpl; }, [ + value, pickerValue, hour, minute, diff --git a/tests/new-range.spec.tsx b/tests/new-range.spec.tsx index 27b95a474..1dad906ff 100644 --- a/tests/new-range.spec.tsx +++ b/tests/new-range.spec.tsx @@ -1240,4 +1240,28 @@ describe('NewPicker.Range', () => { render(); expect(document.querySelector('.rc-picker-cell-range-start')).toBeFalsy(); }); + + it('click time should not modify date', async () => { + const onChange = jest.fn(); + const { container } = render( + , + ); + + openPicker(container); + + // Start + fireEvent.click(document.querySelectorAll('li.rc-picker-time-panel-cell')[2]); + fireEvent.click(document.querySelector('.rc-picker-ok button')); + await waitFakeTimer(); + + // End + fireEvent.click(document.querySelectorAll('li.rc-picker-time-panel-cell')[2]); + fireEvent.click(document.querySelector('.rc-picker-ok button')); + await waitFakeTimer(); + + expect(onChange).toHaveBeenCalledWith(expect.anything(), [ + '1990-09-03 02:00:00', + '1990-09-24 02:00:00', + ]); + }); }); diff --git a/tsconfig.json b/tsconfig.json index 89d330366..81886c8fd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,5 +13,12 @@ "rc-picker": ["src/index.tsx"] } }, - "include": [".dumirc.ts", "src/**/*.ts", "src/**/*.tsx", "docs/examples/focus.tsx"] + "include": [ + ".dumirc.ts", + "src/**/*.ts", + "src/**/*.tsx", + "docs/examples/focus.tsx", + "tests/**/*.ts", + "tests/**/*.tsx" + ] }