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

fix: reload menu open question

 collapsed 为false时,刷新后菜单的openKeys为[]时,导致菜单不展开的问题
Ez-Z 7 лет назад
Родитель
Сommit
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,
       location: { pathname },
       className,
+      collapsed,
     } = this.props;
     // if pathname can't match, use the nearest parent's key
     let selectedKeys = this.getSelectedMenuKeys(pathname);
@@ -133,9 +134,9 @@ export default class BaseMenu extends PureComponent {
       selectedKeys = [openKeys[openKeys.length - 1]];
     }
     let props = {};
-    if (openKeys) {
+    if (openKeys && !collapsed) {
       props = {
-        openKeys,
+        openKeys: openKeys.length === 0 ? [...selectedKeys] : openKeys,
       };
     }
     const { handleOpenChange, style, menuData } = this.props;