From 35dbfbf98abc7b15faab181f241be9accbb48b30 Mon Sep 17 00:00:00 2001
From: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com>
Date: Mon, 27 Oct 2025 08:27:50 +0100
Subject: [PATCH] fix(components): [date-picker] time list sync with input
change (#22589)
* fix(components): [date-picker] time list sync with input change
closed #22500
* test: add test case
---
.../src/date-picker-com/panel-date-range.vue | 1 +
.../__tests__/date-time-picker.test.tsx | 21 +++++++++++++++++++
2 files changed, 22 insertions(+)
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')
+ })
})