diff --git a/src/client/theme-default/components/VPSidebarItem.vue b/src/client/theme-default/components/VPSidebarItem.vue
index 59782e0d..cc2c7e9b 100644
--- a/src/client/theme-default/components/VPSidebarItem.vue
+++ b/src/client/theme-default/components/VPSidebarItem.vue
@@ -97,8 +97,8 @@ function onCaretClick() {
diff --git a/src/client/theme-default/composables/sidebar.ts b/src/client/theme-default/composables/sidebar.ts
index ed060e4d..d0ea7180 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'
@@ -175,9 +174,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) {