需求是点击一个node没比如点了阳光,则选中或反选阳光及其子节点
点击子节点就选中或反选它自己
在onSelect
中去修改checkedKeys
吗?这样会不会太麻烦了,因为要判断是不是父节点、子节点、半选中、全选中或者反选什么的,而且我这还有个搜索,就更麻烦了
需求是点击一个node没比如点了阳光,则选中或反选阳光及其子节点
点击子节点就选中或反选它自己
在onSelect
中去修改checkedKeys
吗?这样会不会太麻烦了,因为要判断是不是父节点、子节点、半选中、全选中或者反选什么的,而且我这还有个搜索,就更麻烦了
模拟一下点击就好了:
onSelect(selectedKeys, info) {
const els = info.node.$el?.children
if (els && els.length > 0) {
for (const el of els) {
if (el.classList.contains('ant-tree-checkbox')) {
el.click()
break
}
}
}
}
3 回答1.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
就是用你说的方法,并不麻烦。点击不需要实现反选,只需要改变点击节点就可以了,antd会自动实现父子节点的填充