Bläddra i källkod

Update SiderMenu.js

当权限子菜单无权限或不存在子菜单时不展示父菜单
hzq 8 år sedan
förälder
incheckning
1a46c6e9aa
1 ändrade filer med 21 tillägg och 17 borttagningar
  1. 21 17
      src/components/SiderMenu/SiderMenu.js

+ 21 - 17
src/components/SiderMenu/SiderMenu.js

@@ -113,23 +113,27 @@ export default class SiderMenu extends PureComponent {
    */
   getSubMenuOrItem = (item) => {
     if (item.children && item.children.some(child => child.name)) {
-      return (
-        <SubMenu
-          title={
-            item.icon ? (
-              <span>
-                {getIcon(item.icon)}
-                <span>{item.name}</span>
-              </span>
-            ) : (
-              item.name
-            )
-          }
-          key={item.path}
-        >
-          {this.getNavMenuItems(item.children)}
-        </SubMenu>
-      );
+      const childrenItems = this.getNavMenuItems(item.children);
+      // 当无子菜单时就不展示菜单
+      if (childrenItems && childrenItems.length > 0) {
+        return (
+          <SubMenu
+            title={
+              item.icon ? (
+                <span>
+                  {getIcon(item.icon)}
+                  <span>{item.name}</span>
+                </span>
+              ) : (
+                  item.name
+                )
+            }
+            key={item.path}
+          >
+            {childrenItems}
+          </SubMenu>
+        )
+      }
     } else {
       return (
         <Menu.Item key={item.path}>{this.getMenuItemPath(item)}</Menu.Item>