下拉选中子集只能选中一个,选中多个后再次回显就会整个父级取消选中,为什么?multiple设置为true允许多选,checkStrictly设置为false则允许选中子选项同时影响父选项
<el-cascader v-model="selectedList" collapse-tags :options="list" :props="{
multiple: true, value: 'id', label: 'name',children: 'children',checkStrictly: false }" size="medium"
:style="{ width: '100%' }" />
created() {
this.getAll()
},
getAll(){
getAllList().then((res) => {
this.list = translateDataToTree(res) //all菜单转树形结构
// console.log(this.list)//ok
})
},
//获取数据
fetchData() {
if (this.form.id == undefined) {
this.form.id = ''
}
const params = "id=" + this.form.id
getListMenus(params).then((res) => {
// this.list = res
if (this.title == '添加') {
} else {
//编辑-选中数据回显
this.defaultCheckedKeys = []
res.forEach(item => {
if (item.checked == true) {
this.defaultCheckedKeys.push(item)
}
})
// console.log('再次打开', this.defaultCheckedKeys)
this.test(this.defaultCheckedKeys)
}
});
},
test(val) {
// console.log(this.list)//ok
console.log('vvv',val)
//编辑
let aa = translateDataToTree(val) //选中部分
this.selectedList = this.getIdsFromTree(aa) //二维id数组
// if (this.form.id === 1) {
// //超级管理员默认选中全部菜单
// // this.selectedList =this.getIdsFromTree(this.list)
// this.selectedList = this.getIdsFromTree(aa) //二维id数组
// console.log(this.selectedList)
// } else {
// this.selectedList = this.getIdsFromTree(aa) //二维id数组
// }
console.log(this.selectedList)
},