diff --git a/theme/src/client/composables/sidebar.ts b/theme/src/client/composables/sidebar.ts index 41499946..e490cd8f 100644 --- a/theme/src/client/composables/sidebar.ts +++ b/theme/src/client/composables/sidebar.ts @@ -400,9 +400,10 @@ export function useSidebarControl(item: ComputedRef): Sideb return !!(item.value.items && item.value.items.length) }) - watchEffect(() => { - collapsed.value = !!(collapsible.value && item.value.collapsed) - }) + watch(() => [collapsible.value, item.value.collapsed], (n, o) => { + if (n[0] !== o?.[0] || n[1] !== o?.[1]) + collapsed.value = !!(collapsible.value && item.value.collapsed) + }, { immediate: true }) watch(() => [page.value.path, isActiveLink.value, hasActiveLink.value], () => { if (isActiveLink.value || hasActiveLink.value) {