From 32f0943f0a5c1c6a5088fcebed7c354b7a1ef415 Mon Sep 17 00:00:00 2001 From: Shyam-Chen Date: Fri, 8 Mar 2024 11:08:21 +0800 Subject: [PATCH] fix(sidebar): watch item deep --- src/client/theme-default/composables/sidebar.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/client/theme-default/composables/sidebar.ts b/src/client/theme-default/composables/sidebar.ts index a5a07a16..4d991f34 100644 --- a/src/client/theme-default/composables/sidebar.ts +++ b/src/client/theme-default/composables/sidebar.ts @@ -7,7 +7,6 @@ import { ref, watch, watchEffect, - watchPostEffect, type ComputedRef, type Ref } from 'vue' @@ -176,9 +175,15 @@ export function useSidebarControl( collapsed.value = !!(collapsible.value && item.value.collapsed) }) - watchPostEffect(() => { - ;(isActiveLink.value || hasActiveLink.value) && (collapsed.value = false) - }) + watch( + item, + () => { + if (isActiveLink.value || hasActiveLink.value) { + collapsed.value = false + } + }, + { immediate: true, deep: true } + ) function toggle() { if (collapsible.value) {