From 57feec9b5ae9f168e1f2f42c6e2b733434ca5620 Mon Sep 17 00:00:00 2001 From: babu-ch Date: Fri, 7 Mar 2025 18:14:48 +0900 Subject: [PATCH 1/4] fix(VDateInput): prevent crash when pressing enter during text input fix #21072 --- packages/vuetify/src/labs/VDateInput/VDateInput.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx index 50d2eb55dde..c22eb3a4f39 100644 --- a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx +++ b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx @@ -68,7 +68,10 @@ export const VDateInput = genericComponent()({ 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, - val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val + val => { + if (!adapter.isValid(val)) return null + return Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val + } ) const menu = shallowRef(false) From 9d7edcd03c14ed8b8345dc9754dc4fe3beadd3d6 Mon Sep 17 00:00:00 2001 From: bab Date: Sat, 22 Mar 2025 16:24:21 +0900 Subject: [PATCH 2/4] Update packages/vuetify/src/labs/VDateInput/VDateInput.tsx Co-authored-by: Ishan Subedi <17315781+ikushum@users.noreply.github.com> --- packages/vuetify/src/labs/VDateInput/VDateInput.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx index fba25c79f78..a1fbec9f20c 100644 --- a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx +++ b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx @@ -68,10 +68,7 @@ export const VDateInput = genericComponent()({ 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, - val => { - if (!adapter.isValid(val)) return null - return Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val - } +model.value = adapter.isValid(target.value) ? target.value : null ) const menu = shallowRef(false) From 4a6da0822d5aab10594040ba0b503b37c9056987 Mon Sep 17 00:00:00 2001 From: babu-ch Date: Sat, 22 Mar 2025 16:25:14 +0900 Subject: [PATCH 3/4] Revert "Update packages/vuetify/src/labs/VDateInput/VDateInput.tsx" This reverts commit 9d7edcd03c14ed8b8345dc9754dc4fe3beadd3d6. --- packages/vuetify/src/labs/VDateInput/VDateInput.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx index a1fbec9f20c..fba25c79f78 100644 --- a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx +++ b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx @@ -68,7 +68,10 @@ export const VDateInput = genericComponent()({ 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, -model.value = adapter.isValid(target.value) ? target.value : null + val => { + if (!adapter.isValid(val)) return null + return Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val + } ) const menu = shallowRef(false) From 63832edf797ff1bdc1953a255918bfd6dcb69f9b Mon Sep 17 00:00:00 2001 From: babu-ch Date: Sat, 22 Mar 2025 16:26:04 +0900 Subject: [PATCH 4/4] apply suggested code --- packages/vuetify/src/labs/VDateInput/VDateInput.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx index fba25c79f78..f677ab5bd5f 100644 --- a/packages/vuetify/src/labs/VDateInput/VDateInput.tsx +++ b/packages/vuetify/src/labs/VDateInput/VDateInput.tsx @@ -68,10 +68,7 @@ export const VDateInput = genericComponent()({ 'modelValue', props.multiple ? [] : null, val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, - val => { - if (!adapter.isValid(val)) return null - return Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val - } + val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val ) const menu = shallowRef(false) @@ -111,7 +108,7 @@ export const VDateInput = genericComponent()({ const target = e.target as HTMLInputElement - model.value = target.value === '' ? null : target.value + model.value = adapter.isValid(target.value) ? target.value : null } function onClick (e: MouseEvent) {