| | |
| | | const topMenu = computed(() => appStore.topMenu); |
| | | const openKeys = ref<string[]>([]); |
| | | const selectedKey = ref<string[]>([]); |
| | | const flog = ref(false); |
| | | |
| | | const goto = (item: RouteRecordRaw) => { |
| | | // Open external link |
| | | |
| | | if (regexUrl.test(item.path)) { |
| | | openWindow(item.path); |
| | | selectedKey.value = [item.name as string]; |
| | |
| | | }; |
| | | listenerRouteChange((newRoute) => { |
| | | const { requiresAuth, activeMenu, hideInMenu } = newRoute.meta; |
| | | if (requiresAuth && (!hideInMenu || activeMenu)) { |
| | | // if (requiresAuth && (!hideInMenu || activeMenu)) {//除去这两个判断后,可以正常展开菜单 |
| | | if (requiresAuth) { |
| | | const menuOpenKeys = findMenuOpenKeys( |
| | | (activeMenu || newRoute.name) as string |
| | | ); |
| | |
| | | activeMenu || menuOpenKeys[menuOpenKeys.length - 1], |
| | | ]; |
| | | } |
| | | console.log(selectedKey.value, 48877); |
| | | }, true); |
| | | const setCollapse = (val: boolean) => { |
| | | if (appStore.device === 'desktop') |
| | |
| | | ) : ( |
| | | <a-menu-item |
| | | key={element?.name} |
| | | class={ |
| | | menuTree.value.length == 1 && |
| | | menuTree.value[0].name == 'sessionManager' |
| | | ? 'session-manager' |
| | | : '' |
| | | } |
| | | v-slots={{ icon }} |
| | | onClick={() => goto(element)} |
| | | > |
| | |
| | | }; |
| | | |
| | | // selected-keys={selectedKey.value} |
| | | // v-if={ |
| | | // menuTree.value.length == 1 && |
| | | // menuTree.value[0].name != 'sessionManager' |
| | | // } |
| | | console.log(menuTree.value, 68877); |
| | | |
| | | return () => ( |
| | | <a-menu |
| | | mode={topMenu.value ? 'horizontal' : 'vertical'} |
| | |
| | | show-collapse-button={appStore.device !== 'mobile'} |
| | | auto-open={false} |
| | | auto-open-selected={true} |
| | | selected-keys={selectedKey.value} |
| | | level-indent={34} |
| | | style="height: 100%;width:100%;" |
| | | onCollapse={setCollapse} |
| | |
| | | } |
| | | } |
| | | } |
| | | .session-manager { |
| | | display: none; |
| | | } |
| | | </style> |