elementui树组件 半选子节点后台传参和回显(需要传父组件id)
elementui树组件:node-key绑定id为例:当子节点半选状态的时候,树组件的勾选状态数组只显示子节点id,如果数组里含有父节点id,则会把这个父节点的所有子节点都勾选上
elementui树组件:
<el-tree
ref="tree"
:data="data"
show-checkbox
node-key="id"
:default-expanded-keys="[2, 3]"
:default-checked-keys="checkedKeysUpdate"
:props="defaultProps"
@check="handleTreeKeysUpdate"
/>
- node-key绑定id为例:
当子节点半选状态的时候,树组件的勾选状态数组只显示子节点id,如果数组里含有父节点id,则会把这个父节点的所有子节点都勾选上
- 项目要求:
当子节点半选时,需要传父节点id
- 解决办法:
后台传参
回显(将从后台获取到的数组去掉父节点id)handleTreeKeysUpdate(val, keys) { this.checkedKeysUpdate = keys.checkedKeys; // this.dataKeys为需要给后台穿的id数组(包含父节点的id) this.dataKeys = keys.checkedKeys.concat(keys.halfCheckedKeys) }
//获取已经选中的
getRoleSelectedPage(id) {
roleSelectedPage({ roleId: id })
.then(res => {
if (res.code === 20000) {
this.getPagesInfo = res.data;
this.data.forEach(item=>{
this.getPagesInfo.forEach((temm,i)=>{
if(item.id===temm) {
if(item.adminMenuRules.length!==0) {
this.getPagesInfo.splice(i,1)
}
}
})
})
this.$refs.tree.setCheckedKeys(this.getPagesInfo);
}
})
.catch(e => {
console.log(e);
});
},
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~