Vben
2021-04-07 5b8eb4a49a097a47caf491c44df427522ab58daa
src/components/SimpleMenu/src/SimpleMenu.vue
@@ -18,7 +18,6 @@
  </Menu>
</template>
<script lang="ts">
  import type { PropType } from 'vue';
  import type { MenuState } from './types';
  import type { Menu as MenuType } from '/@/router/types';
@@ -27,7 +26,7 @@
  import Menu from './components/Menu.vue';
  import SimpleSubMenu from './SimpleSubMenu.vue';
  import { listenerLastChangeTab } from '/@/logics/mitt/tabChange';
  import { listenerRouteChange } from '/@/logics/mitt/routeChange';
  import { propTypes } from '/@/utils/propTypes';
  import { REDIRECT_NAME } from '/@/router/constant';
  import { RouteLocationNormalizedLoaded, useRouter } from 'vue-router';
@@ -69,6 +68,7 @@
      const { currentRoute } = useRouter();
      const { prefixCls } = useDesign('simple-menu');
      const { items, accordion, mixSider, collapse } = toRefs(props);
      const { setOpenKeys, getOpenKeys } = useOpenKeys(
        menuState,
        items,
@@ -91,7 +91,15 @@
        { immediate: true }
      );
      listenerLastChangeTab((route) => {
      watch(
        () => props.items,
        () => {
          setOpenKeys(currentRoute.value.path);
        },
        { flush: 'post' }
      );
      listenerRouteChange((route) => {
        if (route.name === REDIRECT_NAME) return;
        currentActiveMenu.value = route.meta?.currentActiveMenu as string;
@@ -112,7 +120,6 @@
        menuState.activeName = path;
        setOpenKeys(path);
        // if (unref(currentActiveMenu)) return;
      }
      async function handleSelect(key: string) {