boss 3 gün önce
ebeveyn
işleme
df37e95905
1 değiştirilmiş dosya ile 14 ekleme ve 2 silme
  1. 14 2
      src/layout/AdminLayout.vue

+ 14 - 2
src/layout/AdminLayout.vue

@@ -214,8 +214,20 @@ export default {
         }
       })
     },
-    toggleGroup(path) {
-      this.$set(this.collapsedGroups, path, !this.collapsedGroups[path])
+    toggleGroup(title) {
+      const isCurrentlyOpen = !this.collapsedGroups[title]
+      // 先关闭所有分组(unique-opened 效果)
+      const newState = {}
+      this.menuList.forEach(item => {
+        if (item.children && item.children.length) {
+          newState[item.title] = true // true = collapsed
+        }
+      })
+      // 如果当前分组是关闭状态则打开它,否则保持关闭
+      if (isCurrentlyOpen) {
+        newState[title] = false // false = expanded
+      }
+      this.collapsedGroups = newState
     },
     handleCommand(cmd) {
       if (cmd === 'logout') {