diff --git a/packages/components/date-picker-panel/src/date-picker-com/panel-date-range.vue b/packages/components/date-picker-panel/src/date-picker-com/panel-date-range.vue index b2846606f9..7070b12b89 100644 --- a/packages/components/date-picker-panel/src/date-picker-com/panel-date-range.vue +++ b/packages/components/date-picker-panel/src/date-picker-com/panel-date-range.vue @@ -792,6 +792,7 @@ const handleTimeInput = (value: string | null, type: ChangeType) => { .hour(parsedValueD.hour()) .minute(parsedValueD.minute()) .second(parsedValueD.second()) + leftDate.value = minDate.value } else { maxTimePickerVisible.value = true maxDate.value = (maxDate.value || rightDate.value) diff --git a/packages/components/date-picker/__tests__/date-time-picker.test.tsx b/packages/components/date-picker/__tests__/date-time-picker.test.tsx index 53ce03a045..0926125762 100644 --- a/packages/components/date-picker/__tests__/date-time-picker.test.tsx +++ b/packages/components/date-picker/__tests__/date-time-picker.test.tsx @@ -1198,4 +1198,25 @@ describe('Datetimerange', () => { await wrapper.find('.el-date-editor').trigger('click') expect(onUpdateModelValue).not.toHaveBeenCalled() }) + + it('should left list time be sync with input input change', async () => { + const modelValue = ['2025-09-01', '2025-09-07'] + const wrapper = _mount(() => ( + + )) + + const input = wrapper.find('input') + await input.trigger('blur') + await input.trigger('focus') + const leftTimeInput = document.querySelectorAll( + '.el-date-range-picker__time-picker-wrap input' + )[1] + leftTimeInput.value = 'AM 12:00:01' + triggerEvent(leftTimeInput, 'input') + await nextTick() + expect( + document.querySelectorAll('.el-time-spinner__list .is-active')[2] + .textContent + ).toBe('01') + }) })