vben
2021-01-15 6d5c49f0a208de5b745c36d2320dd4c2cffe7d75
fix(menu): currentActiveMenu fails after refresh #188
1个文件已修改
11 ■■■■■ 已修改文件
src/components/Menu/src/BasicMenu.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Menu/src/BasicMenu.vue
@@ -58,6 +58,7 @@
    emits: ['menuClick'],
    setup(props, { emit }) {
      const isClickGo = ref(false);
      const currentActiveMenu = ref('');
      const menuState = reactive<MenuState>({
        defaultSelectedKeys: [],
@@ -118,10 +119,11 @@
      listenerLastChangeTab((route) => {
        if (route.name === REDIRECT_NAME) return;
        handleMenuChange(route);
        const currentActiveMenu = route.meta?.currentActiveMenu;
        if (currentActiveMenu) {
          menuState.selectedKeys = [currentActiveMenu];
          setOpenKeys(currentActiveMenu);
        currentActiveMenu.value = route.meta?.currentActiveMenu;
        if (unref(currentActiveMenu)) {
          menuState.selectedKeys = [unref(currentActiveMenu)];
          setOpenKeys(unref(currentActiveMenu));
        }
      });
@@ -153,6 +155,7 @@
        }
        const path = (route || unref(currentRoute)).path;
        setOpenKeys(path);
        if (unref(currentActiveMenu)) return;
        if (props.isHorizontal && unref(getSplit)) {
          const parentPath = await getCurrentParentPath(path);
          menuState.selectedKeys = [parentPath];