Преглед на файлове

fix: reload menu open question

 collapsed 为false时,刷新后菜单的openKeys为[]时,导致菜单不展开的问题
Ez-Z преди 7 години
родител
ревизия
585ca55c27
променени са 1 файла, в които са добавени 3 реда и са изтрити 2 реда
  1. 3 2
      src/components/SiderMenu/BaseMenu.js

+ 3 - 2
src/components/SiderMenu/BaseMenu.js

@@ -126,6 +126,7 @@ export default class BaseMenu extends PureComponent {
       mode,
       mode,
       location: { pathname },
       location: { pathname },
       className,
       className,
+      collapsed,
     } = this.props;
     } = this.props;
     // if pathname can't match, use the nearest parent's key
     // if pathname can't match, use the nearest parent's key
     let selectedKeys = this.getSelectedMenuKeys(pathname);
     let selectedKeys = this.getSelectedMenuKeys(pathname);
@@ -133,9 +134,9 @@ export default class BaseMenu extends PureComponent {
       selectedKeys = [openKeys[openKeys.length - 1]];
       selectedKeys = [openKeys[openKeys.length - 1]];
     }
     }
     let props = {};
     let props = {};
-    if (openKeys) {
+    if (openKeys && !collapsed) {
       props = {
       props = {
-        openKeys,
+        openKeys: openKeys.length === 0 ? [...selectedKeys] : openKeys,
       };
       };
     }
     }
     const { handleOpenChange, style, menuData } = this.props;
     const { handleOpenChange, style, menuData } = this.props;