diff --git a/src/components/Menu/src/BasicMenu.tsx b/src/components/Menu/src/BasicMenu.tsx index 3593a7c53..dd4ef27b9 100644 --- a/src/components/Menu/src/BasicMenu.tsx +++ b/src/components/Menu/src/BasicMenu.tsx @@ -239,14 +239,13 @@ export default defineComponent({ ) : (
{getSlot(slots, 'header')} - {props.search && ( - - )} +
{() => renderMenu()}
diff --git a/src/hooks/web/usePage.ts b/src/hooks/web/usePage.ts index a56e0a552..277e78364 100644 --- a/src/hooks/web/usePage.ts +++ b/src/hooks/web/usePage.ts @@ -10,6 +10,7 @@ export type RouteLocationRawEx = Omit & { path: PageEn function handleError(e: Error) { console.error(e); + // 101是为了 大于 打开时候设置的100延时防止闪动 setTimeout(() => { appStore.commitPageLoadingState(false); }, 101); diff --git a/src/hooks/web/useTabs.ts b/src/hooks/web/useTabs.ts index 646bbbda8..e7eccfc32 100644 --- a/src/hooks/web/useTabs.ts +++ b/src/hooks/web/useTabs.ts @@ -3,6 +3,9 @@ import { PageEnum } from '/@/enums/pageEnum'; import { TabItem, tabStore } from '/@/store/modules/tab'; import { appStore } from '/@/store/modules/app'; import router from '/@/router'; +import { ref } from 'vue'; + +const activeKeyRef = ref(''); type Fn = () => void; type RouteFn = (tabItem: TabItem) => void; @@ -70,12 +73,13 @@ export function useTabs() { closeOther: () => canIUseFn() && closeOther(tabStore.getCurrentTab), closeCurrent: () => canIUseFn() && closeCurrent(tabStore.getCurrentTab), resetCache: () => canIUseFn() && resetCache(), - addTab: (path: PageEnum, goTo = false) => { + addTab: (path: PageEnum, goTo = false, replace = false) => { useTimeout(() => { tabStore.addTabByPathAction(path); }, 0); - - goTo && router.push(path); + activeKeyRef.value = path; + goTo && replace ? router.replace : router.push(path); }, + activeKeyRef, }; } diff --git a/src/layouts/Logo.vue b/src/layouts/Logo.vue index 38235686d..ea2a6c68f 100644 --- a/src/layouts/Logo.vue +++ b/src/layouts/Logo.vue @@ -1,7 +1,7 @@