diff --git a/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue b/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue index 37fddd6e24..d3048f6a4f 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/ColumnFilter.vue @@ -86,11 +86,12 @@ const types = computed(() => { watch( () => activeView.value?.id, (n, o) => { - if (n !== o && (hookId || !webHook)) loadFilters(hookId as string) - }, - { immediate: true }, + if (!nested && n !== o && (hookId || !webHook)) loadFilters(hookId as string) + } ) +loadFilters(hookId as string) + watch( () => nonDeletedFilters.value.length, (length) => { diff --git a/packages/nc-gui/composables/useViewFilters.ts b/packages/nc-gui/composables/useViewFilters.ts index 8369d35141..463cfd9882 100644 --- a/packages/nc-gui/composables/useViewFilters.ts +++ b/packages/nc-gui/composables/useViewFilters.ts @@ -51,11 +51,11 @@ export function useViewFilters( set: (value: Filter[]) => { if (nestedMode.value) { currentFilters = value - if (isNestedRoot) nestedFilters.value = value - + if (isNestedRoot) { + nestedFilters.value = value + tabMeta.value.filterState!.set(view!.value.id!, nestedFilters.value) + } nestedFilters.value = [...nestedFilters.value] - - tabMeta.value.filterState!.set(view!.value.id!, nestedFilters.value) reloadHook?.trigger() return } @@ -77,7 +77,8 @@ export function useViewFilters( const loadFilters = async (hookId?: string) => { if (nestedMode.value) { - filters.value = tabMeta.value.filterState!.get(view.value.id!) || [] + if (isNestedRoot) + filters.value = tabMeta.value.filterState!.get(view.value.id!) || [] return }