Commit 5c491a42586c9bcbc18a57039dcee2c9810afba2

Authored by zuihou
1 parent 52253454

fix(Menu): 左侧菜单混合模式 在动态更改路由时,左侧显示的菜单没有实时更新

src/layouts/default/sider/MixSider.vue
@@ -80,13 +80,14 @@ @@ -80,13 +80,14 @@
80 <script lang="ts"> 80 <script lang="ts">
81 import type { Menu } from '/@/router/types'; 81 import type { Menu } from '/@/router/types';
82 import type { CSSProperties } from 'vue'; 82 import type { CSSProperties } from 'vue';
83 - import { computed, defineComponent, onMounted, ref, unref } from 'vue'; 83 + import { computed, defineComponent, onMounted, ref, unref, watch } from 'vue';
84 import type { RouteLocationNormalized } from 'vue-router'; 84 import type { RouteLocationNormalized } from 'vue-router';
85 import { ScrollContainer } from '/@/components/Container'; 85 import { ScrollContainer } from '/@/components/Container';
86 import { SimpleMenu, SimpleMenuTag } from '/@/components/SimpleMenu'; 86 import { SimpleMenu, SimpleMenuTag } from '/@/components/SimpleMenu';
87 import { Icon } from '/@/components/Icon'; 87 import { Icon } from '/@/components/Icon';
88 import { AppLogo } from '/@/components/Application'; 88 import { AppLogo } from '/@/components/Application';
89 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; 89 import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
  90 + import { usePermissionStore } from '/@/store/modules/permission';
90 import { useDragLine } from './useLayoutSider'; 91 import { useDragLine } from './useLayoutSider';
91 import { useGlobSetting } from '/@/hooks/setting'; 92 import { useGlobSetting } from '/@/hooks/setting';
92 import { useDesign } from '/@/hooks/web/useDesign'; 93 import { useDesign } from '/@/hooks/web/useDesign';
@@ -138,6 +139,7 @@ @@ -138,6 +139,7 @@
138 } = useMenuSetting(); 139 } = useMenuSetting();
139 140
140 const { title } = useGlobSetting(); 141 const { title } = useGlobSetting();
  142 + const permissionStore = usePermissionStore();
141 143
142 useDragLine(sideRef, dragBarRef, true); 144 useDragLine(sideRef, dragBarRef, true);
143 145
@@ -191,6 +193,17 @@ @@ -191,6 +193,17 @@
191 menuModules.value = await getShallowMenus(); 193 menuModules.value = await getShallowMenus();
192 }); 194 });
193 195
  196 + // Menu changes
  197 + watch(
  198 + [() => permissionStore.getLastBuildMenuTime, () => permissionStore.getBackMenuList],
  199 + async () => {
  200 + menuModules.value = await getShallowMenus();
  201 + },
  202 + {
  203 + immediate: true,
  204 + },
  205 + );
  206 +
194 listenerRouteChange((route) => { 207 listenerRouteChange((route) => {
195 currentRoute.value = route; 208 currentRoute.value = route;
196 setActive(true); 209 setActive(true);