fix: 🐛 修复混合布局重定向首页未激活问题
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<!-- 混合布局菜单(top) -->
|
<!-- 混合布局的顶部 -->
|
||||||
<template>
|
<template>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-menu
|
<el-menu
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
</el-icon>
|
</el-icon>
|
||||||
<svg-icon v-else :icon-class="route.meta.icon" />
|
<svg-icon v-else :icon-class="route.meta.icon" />
|
||||||
</template>
|
</template>
|
||||||
<svg-icon v-else icon-class="menu" />
|
|
||||||
<span v-if="route.path === '/'">首页</span>
|
<span v-if="route.path === '/'">首页</span>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span v-if="route.meta && route.meta.title" class="ml-1">
|
<span v-if="route.meta && route.meta.title" class="ml-1">
|
||||||
@@ -47,8 +47,13 @@ const appStore = useAppStore();
|
|||||||
const permissionStore = usePermissionStore();
|
const permissionStore = usePermissionStore();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
// 避免 activeTopMenuPath 缓存被清理,从当前路由路径获取顶部菜单路径,eg. /system/user → /system
|
// 避免 activeTopMenuPath 缓存被清理,从当前路由路径获取顶部菜单路径,
|
||||||
const activeTopMenuPath = useRoute().path.match(/^\/[^\/]+/)?.[0] || "/";
|
// eg. / system / user → /system; / dashboard → /
|
||||||
|
const activeTopMenuPath =
|
||||||
|
useRoute().path.split("/").filter(Boolean).length > 1
|
||||||
|
? useRoute().path.match(/^\/[^\/]+/)?.[0] || "/"
|
||||||
|
: "/";
|
||||||
|
|
||||||
appStore.activeTopMenu(activeTopMenuPath);
|
appStore.activeTopMenu(activeTopMenuPath);
|
||||||
|
|
||||||
// 激活的顶部菜单路径
|
// 激活的顶部菜单路径
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :class="{ 'has-logo': sidebarLogo }">
|
<div :class="{ 'has-logo': sidebarLogo }">
|
||||||
<!-- layout mix-->
|
<!-- 混合布局的顶部的Sidebar -->
|
||||||
<div class="flex w-full" v-if="layout == LayoutEnum.MIX">
|
<div v-if="layout == LayoutEnum.MIX" class="flex w-full">
|
||||||
<SidebarLogo v-if="sidebarLogo" :collapse="!appStore.sidebar.opened" />
|
<SidebarLogo v-if="sidebarLogo" :collapse="!appStore.sidebar.opened" />
|
||||||
<SidebarMixTopMenu class="flex-1" />
|
<SidebarMixTopMenu class="flex-1" />
|
||||||
<NavbarAction />
|
<NavbarAction />
|
||||||
</div>
|
</div>
|
||||||
<!-- layout left || layout top -->
|
<!-- 左侧和顶部布局的Sidebar -->
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<SidebarLogo v-if="sidebarLogo" :collapse="!appStore.sidebar.opened" />
|
<SidebarLogo v-if="sidebarLogo" :collapse="!appStore.sidebar.opened" />
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
|
|||||||
Reference in New Issue
Block a user