|
|
@@ -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') {
|