导航栏设置激活状态逻辑优化

This commit is contained in:
Hooray Hu
2023-12-10 03:31:31 +08:00
parent cb85fe4e3b
commit 470e26ab52
3 changed files with 10 additions and 7 deletions
+7 -4
View File
@@ -77,11 +77,14 @@ const closeMenu: MenuInjection['closeMenu'] = (index) => {
}
function setSubMenusActive(index: string) {
Object.keys(subMenus.value).forEach((index) => {
subMenus.value[index].active = false
for (const key in subMenus.value) {
subMenus.value[key].active = false
}
subMenus.value[index]?.indexPath.forEach((idx) => {
subMenus.value[idx].active = true
})
items.value[index]?.indexPath.forEach((index) => {
subMenus.value[index].active = true
items.value[index]?.indexPath.forEach((idx) => {
subMenus.value[idx].active = true
})
}
+2 -2
View File
@@ -17,8 +17,8 @@ const itemRef = ref<HTMLElement>()
const isActived = computed(() => {
return props.subMenu
? rootMenu.subMenus[props.uniqueKey[props.uniqueKey.length - 1]]?.active
: rootMenu.activeIndex === props.uniqueKey[props.uniqueKey.length - 1]
? rootMenu.subMenus[props.uniqueKey.at(-1)!].active
: rootMenu.activeIndex === props.uniqueKey.at(-1)!
})
const isItemActive = computed(() => {
+1 -1
View File
@@ -23,7 +23,7 @@ const subMenuRef = shallowRef<OverlayScrollbarsComponentRef>()
const rootMenu = inject(rootMenuInjectionKey)!
const opened = computed(() => {
return rootMenu.openedMenus.includes(props.uniqueKey[props.uniqueKey.length - 1])
return rootMenu.openedMenus.includes(props.uniqueKey.at(-1)!)
})
const transitionEvent = computed(() => {