From 2face7394bf05a48fd9c492c71fecd52e05e6938 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Sun, 31 May 2026 13:50:30 +0800 Subject: [PATCH] fix(grid): commit temporal input before enter submit --- .../src/components/grid/TemporalCellEditor.vue | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/apps/desktop/src/components/grid/TemporalCellEditor.vue b/apps/desktop/src/components/grid/TemporalCellEditor.vue index c10fb4e0a7..e69320815c 100644 --- a/apps/desktop/src/components/grid/TemporalCellEditor.vue +++ b/apps/desktop/src/components/grid/TemporalCellEditor.vue @@ -110,6 +110,16 @@ function stepTime(part: "hour" | "minute" | "second", delta: number) { updateTime(part, (current + delta + max + 1) % (max + 1)); } +function flushInputValue(target: EventTarget | null) { + if (!(target instanceof HTMLInputElement)) return; + const part = target.dataset.temporalPart; + if (part === "year" || part === "month" || part === "day") { + updateDate(part, target.value); + } else if (part === "hour" || part === "minute" || part === "second") { + updateTime(part, target.value); + } +} + function setNull() { setModelValue("NULL"); } @@ -144,6 +154,7 @@ function finishCancel() { function onKeydown(event: KeyboardEvent) { if (event.key === "Enter") { event.preventDefault(); + flushInputValue(event.target); finishCommit(); } else if (event.key === "Escape") { event.preventDefault(); @@ -208,6 +219,7 @@ function twoDigit(value: string | number): string { >