Forráskód Böngészése

update: 增加第一次进入判断当前路径

xyh 2 éve
szülő
commit
fe05b676c8
2 módosított fájl, 15 hozzáadás és 3 törlés
  1. 10 1
      src/pages/home/menu/hooks.tsx
  2. 5 2
      src/pages/home/menu/index.vue

+ 10 - 1
src/pages/home/menu/hooks.tsx

@@ -2,7 +2,7 @@ import {type MenuOption} from 'naive-ui';
 import {onMounted, reactive, watch} from 'vue';
 import {useTabStore, storeToRefs} from '@stores';
 import {find} from 'lodash-es';
-import {useRouter} from 'vue-router';
+import {useRoute, useRouter} from 'vue-router';
 import {formatMenu} from '@utils';
 
 export function useMenu() {
@@ -44,8 +44,17 @@ export function useMenu() {
     });
   }
 
+  const route = useRoute();
   onMounted(function() {
     // 页面初始页面不一定是首页需要判断是否需要增加tab
+    const idx = basicMenu.findIndex(val => val.url === route.path);
+    if (idx < 0) return;
+    const {title, pid, url, id} = basicMenu[idx];
+
+    tabStore.dispatch({
+      type: 'ADD',
+      payload: {label: title, key: id, url, pid},
+    });
   });
 
   // activeKey变化后更新菜单的展开菜单的值并跳转到对应的url

+ 5 - 2
src/pages/home/menu/index.vue

@@ -1,14 +1,17 @@
 <script setup lang='ts'>
 import {NLayoutSider, NMenu, NScrollbar} from 'naive-ui';
 import {useToggle} from '@vueuse/core';
-import {menuOptions, useMenu} from './hooks';
+import {useMenu} from './hooks';
 import {MenuUnfoldOne} from '@icon-park/vue-next';
 
 defineOptions({name: 'HomeMenu'});
 
 const [collapsed, setCollapsed] = useToggle();
 
-const [{activeKey, expandKeys}, {onUpdate, onExpandedUpdate}] = useMenu();
+const [
+  {activeKey, expandKeys, menuOptions},
+  {onUpdate, onExpandedUpdate},
+] = useMenu();
 
 </script>