|
|
@@ -189,7 +189,24 @@ const submenuOpen = reactive<{ [key: number]: boolean }>({})
|
|
|
const thirdLevelOpen = reactive<{ [key: string]: boolean }>({})
|
|
|
|
|
|
const toggleSubmenu = (index: number) => {
|
|
|
- submenuOpen[index] = !submenuOpen[index]
|
|
|
+ // 如果当前菜单已经打开,则关闭它
|
|
|
+ if (submenuOpen[index]) {
|
|
|
+ submenuOpen[index] = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 关闭所有其他已打开的一级菜单
|
|
|
+ for (const key in submenuOpen) {
|
|
|
+ const numKey = Number(key)
|
|
|
+ if (numKey !== index) {
|
|
|
+ submenuOpen[numKey] = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 关闭所有三级菜单
|
|
|
+ for (const key in thirdLevelOpen) {
|
|
|
+ thirdLevelOpen[key] = false
|
|
|
+ }
|
|
|
+ // 打开当前菜单
|
|
|
+ submenuOpen[index] = true
|
|
|
}
|
|
|
|
|
|
const toggleThirdLevel = (parentIndex: number, childIndex: number) => {
|