Bläddra i källkod

fix: showLink is false,children menu still showing

xiaoxian521 3 år sedan
förälder
incheckning
c8e90b4bd7
1 ändrade filer med 10 tillägg och 2 borttagningar
  1. 10 2
      src/store/modules/permission.ts

+ 10 - 2
src/store/modules/permission.ts

@@ -13,9 +13,17 @@ export const usePermissionStore = defineStore({
   }),
   actions: {
     asyncActionRoutes(routes) {
+      const filterTree = data => {
+        const newTree = data.filter(v => v.meta.showLink);
+        newTree.forEach(
+          v => v.children && (v.children = filterTree(v.children))
+        );
+        return newTree;
+      };
+
       if (this.wholeRoutes.length > 0) return;
-      this.wholeRoutes = ascending(this.constantRoutes.concat(routes)).filter(
-        v => v.meta.showLink
+      this.wholeRoutes = filterTree(
+        ascending(this.constantRoutes.concat(routes))
       );
 
       const getButtonAuth = (arrRoutes: Array<string>) => {