2 回答

TA贡献1825条经验 获得超6个赞
data(){
return {
leftMenuList: [
{
name: '权限管理',
open: false,
list: [
{
name: '用户管理'
},
{
name: '部门管理'
},
{
name: '角色管理'
},
{
name: '菜单管理'
}
]
},
{
name: '电池管理',
open: false,
list: [
{
name: '用户管理'
},
{
name: '部门管理'
},
{
name: '角色管理'
},
{
name: '菜单管理'
}
]
}
]
}
},
methods:{
toggleChildren(item){
if(!item.open){
this.leftMenuList.map((v)=>{
v.open=false
})
}
item.open=!item.open
}
}

TA贡献1802条经验 获得超6个赞
没看到你写收起其它啊,toggleChildren里刷一遍MenuList先都设置成false,或者记一下上次展开的菜单是哪一个,把它设置成false。
我记得vue列表直接更新元素属性好像不会更新?需要用splice在原位置替换一下。自己看吧
添加回答
举报