最近开发后台管理系统时碰到一个需求,选中子节点时要把对应的父节点也传给后端。如图,选中了【修改角色】,要把【角色管理】的id也传给后端。
image.png
但是Tree控件的onCheck方法的第一个参数checkedKeys只保存了当前选中的id
image.png
仔细看Tree控件在选中时onCheck方法接收两个参数,第二个参数打印出来可以发现有个halfCheckedKeys数组,里面包含了所有选中节点的父节点id,所以做一下组合就得到了想要的数据
handleCheckMenu = (checkedKeys, e) => {
const checkedKeysResult = [...checkedKeys, ...e.halfCheckedKeys]
this.setState({
codeList: checkedKeys, //当前选中的节点
checkedKeysResult //当前选中节点包括父节点
})
}
tips: 简书上交流可能会看不到消息,如有问题,欢迎进群交流50063010