路由使用 /: 与 router.replace() 和el-menu使用default-active
<el-menu class="menu" :default-active="activeMenu" :router="false" :collapse="false" :collapse-transition="false">
<SubMenu :menuList="menuList"></SubMenu>
</el-menu>
{
path: 'team',
name: 'infoPreview.team',
component: () => import('@/views/infoPreview/team/teaminfo.vue'),
meta: {
title: '团队信息查看'
}
},
{
path: 'team/:teamBusinessId',
name: 'infoPreview.teamDetail',
component: () => import('@/views/infoPreview/team/componets/detail.vue'),
meta: {
title: '团队详情页',
hidden: true
}
},
const pathRegs: [RegExp, string][] = [
[/\/indicators\/group\/[0-9a-zA-Z]+/, '/indicators/group'],
[/\/infoPreview\/team\/[0-9a-zA-Z]+/, '/infoPreview/team'],
[/\/expert\/evaluation\/[0-9a-zA-Z]+/, '/expert/evaluation']
]
const activeMenu = computed(() => {
let path = route.path
for (let regArr of pathRegs) {
path = path.replace(regArr[0], regArr[1])
}
return path
})