antd树组件怎么点击节点后选中这个节点

clipboard.png

需求是点击一个node没比如点了阳光,则选中或反选阳光及其子节点

clipboard.png

点击子节点就选中或反选它自己

onSelect中去修改checkedKeys吗?这样会不会太麻烦了,因为要判断是不是父节点、子节点、半选中、全选中或者反选什么的,而且我这还有个搜索,就更麻烦了

阅读 7.8k
2 个回答

就是用你说的方法,并不麻烦。点击不需要实现反选,只需要改变点击节点就可以了,antd会自动实现父子节点的填充

新手上路,请多包涵

模拟一下点击就好了:

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
      }
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题