Просмотр исходного кода

improve: 侧边栏收缩判断

From-wh 2 лет назад
Родитель
Сommit
1e3beb79f2

+ 6 - 6
template/admin/src/components/main/components/side-menu/side-menu.vue

@@ -153,12 +153,12 @@ export default {
     },
   },
   watch: {
-    openedNames() {
-      this.$nextTick(() => {
-        this.$refs.menu.updateOpened();
-        this.$refs.childMenu.updateActiveName();
-      });
-    },
+    // openedNames() {
+    //   this.$nextTick(() => {
+    //     this.$refs.menu.updateOpened();
+    //     this.$refs.childMenu.updateActiveName();
+    //   });
+    // },
     activePath() {
       this.$nextTick(() => {
         this.$refs.childMenu.updateOpened();

+ 23 - 14
template/admin/src/main.js

@@ -198,20 +198,29 @@ new Vue({
       const path = to.path;
       let menus = this.$store.state.menus.menusName;
       const menuSider = menus;
-      this.$store.commit('menu/setActivePath', path);
-      const openNames = getSiderSubmenu(to, menuSider);
-      this.$store.commit('menu/setOpenNames', openNames);
-      // 设置顶栏菜单 后台添加一个接口,设置顶部菜单
-      const headerSider = getHeaderSider(menuSider);
-      this.$store.commit('menu/setHeader', headerSider);
-      // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
       const headerName = getHeaderName(to, menuSider);
-      this.$store.commit('menu/setHeaderName', headerName);
-      // 获取侧边栏菜单
-      const filterMenuSider = getMenuSider(menuSider, headerName);
-      // 指定当前显示的侧边菜单
-      this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
-      this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
+
+      if (headerName !== null) {
+        this.$store.commit('menu/setActivePath', path);
+        const openNames = getSiderSubmenu(to, menuSider);
+        this.$store.commit('menu/setOpenNames', openNames);
+        // 设置顶栏菜单 后台添加一个接口,设置顶部菜单
+        const headerSider = getHeaderSider(menuSider);
+        this.$store.commit('menu/setHeader', headerSider);
+        // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
+        this.$store.commit('menu/setHeaderName', headerName);
+        // 获取侧边栏菜单
+        const filterMenuSider = getMenuSider(menuSider, headerName);
+        // 指定当前显示的侧边菜单
+        this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
+        this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
+      } else {
+        //子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
+        // this.$store.commit('menu/setHeaderName', 'home');
+        // 指定当前显示的侧边菜单
+        // this.$store.commit('menu/setSider', menuSider);
+      }
+
       if (to.meta.kefu) {
         document.getElementsByTagName('body')[0].className = 'kf_mobile';
       } else {
@@ -228,7 +237,7 @@ new Vue({
         return;
       }
       // 在 404 时,是没有 headerName 的
-      
+
       // });
     },
   },