Browse Source

fix: activePath not working in menu, fixed: #4112 (#4113)

Netfan 7 months ago
parent
commit
cdeadafda5

+ 1 - 1
packages/effects/layouts/src/basic/menu/extra-menu.vue

@@ -30,7 +30,7 @@ async function handleSelect(key: string) {
   <Menu
     :accordion="accordion"
     :collapse="collapse"
-    :default-active="route.path"
+    :default-active="route.meta?.activePath || route.path"
     :menus="menus"
     :rounded="rounded"
     :theme="theme"

+ 1 - 1
packages/effects/layouts/src/basic/menu/use-extra-menu.ts

@@ -81,7 +81,7 @@ function useExtraMenu() {
   watch(
     () => route.path,
     (path) => {
-      const currentPath = path;
+      const currentPath = route.meta?.activePath || path;
       // if (preferences.sidebar.expandOnHover) {
       //   return;
       // }

+ 1 - 1
packages/effects/layouts/src/basic/menu/use-mixed-menu.ts

@@ -113,7 +113,7 @@ function useMixedMenu() {
 
   // 初始化计算侧边菜单
   onBeforeMount(() => {
-    calcSideMenus();
+    calcSideMenus(route.meta?.activePath || route.path);
   });
 
   return {