<el-tree :props="defaultParams"
ref="tree"
:data="treedata"
show-checkbox
node-key="id"
@check-change="handleCheckChange">
</el-tree>
defaultParams: {
label: 'name',
children: 'childList'
}
getCheckedNodes:返回目前被选中的节点所组成的数组
handleCheckChange () {
let res = this.$refs.tree.getCheckedNodes()
let arr = []
res.forEach((item) => {
arr.push(item.id)
})
let menuArr = this.unique(arr); // 去除重复的节点
this.permissionIds = menuArr.join(',')
},
// 数组去重
unique (arr) {
let newArr = []
let len = arr.length
for (let i = 0; i < len; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
return newArr
}
// 取消所有选中
handleCancelSelect(){
this.$refs.tree.setCheckedKeys([]);
}