From d191c93ccc2f6991e7726a97ebf6da30a2743f18 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Wed, 9 Sep 2026 01:31:13 +0800 Subject: [PATCH] fix(grid): reset column filter offset on open --- apps/desktop/src/components/grid/DataGrid.vue | 3 +++ apps/desktop/src/composables/useDataGridColumnFilters.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index cf4095ae5d..ae7bc1fb23 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -1235,6 +1235,9 @@ const localColumnFilterRuntime = useDataGridColumnFilters({ waitForTableMeta, applyWhereFilter, resetGridVerticalScroll: () => resetLocalFilterGridScroll(), + onOpen: () => { + localFilterPopoverOffsetX.value = 0; + }, onClose: () => { onLocalFilterResizeEnd(); localFilterPopoverOffsetX.value = 0; diff --git a/apps/desktop/src/composables/useDataGridColumnFilters.ts b/apps/desktop/src/composables/useDataGridColumnFilters.ts index 2e0d498f04..d592a56bcd 100644 --- a/apps/desktop/src/composables/useDataGridColumnFilters.ts +++ b/apps/desktop/src/composables/useDataGridColumnFilters.ts @@ -62,6 +62,7 @@ export interface UseDataGridColumnFiltersOptions { waitForTableMeta: () => Promise; applyWhereFilter: () => Promise; resetGridVerticalScroll: () => void; + onOpen?: () => void; onClose?: () => void; emitLocalFiltersChange: (filters: Record) => void; } @@ -170,6 +171,7 @@ export function useDataGridColumnFilters(options: UseDataGridColumnFiltersOption } function openLocalFilter(columnIndex: number, requestedMode: DataGridLocalFilterMode = "local") { + options.onOpen?.(); state.localFilterSearch.value = ""; const mode = requestedMode === "server" && options.canUseServerColumnFilter.value ? "server" : "local"; const allKeys = mode === "server" ? [] : buildLocalFilterOptions(columnIndex).map((option) => option.key);