fix:菜单复合模式下,点击一级菜单会自动选择首位子菜单,不含子菜单则定位为顶栏本体。

This commit is contained in:
pixelmaxQM
2025-02-09 19:56:51 +08:00
parent 831bd61e02
commit dae38d9b18
2 changed files with 6 additions and 8 deletions
+1 -7
View File
@@ -73,6 +73,7 @@ export const useRouterStore = defineStore('router', () => {
const setLeftMenu = (name) => {
sessionStorage.setItem('topActive', name)
topActive.value = name
leftMenu.value = []
if (menuMap[name]?.children) {
leftMenu.value = menuMap[name].children
}
@@ -81,19 +82,12 @@ export const useRouterStore = defineStore('router', () => {
watchEffect(() => {
let topActive = sessionStorage.getItem('topActive')
let firstHasChildren = ''
asyncRouters.value[0]?.children.forEach((item) => {
if (item.hidden) return
menuMap[item.name] = item
if (!firstHasChildren && item.children && item.children.length > 0) {
firstHasChildren = item.name
}
topMenu.value.push({ ...item, children: [] })
})
if (!menuMap[topActive]?.children && firstHasChildren) {
topActive = firstHasChildren
}
setLeftMenu(topActive)
})