zTree / zTree_v3

jQuery Tree Plugin
MIT License
4.1k stars 1.28k forks source link

无法获取隐藏节点的半选状态 #430

Closed laiguangtao closed 4 years ago

laiguangtao commented 4 years ago

目前有个需求,需要获取树形控件中所有勾选节点的集合,如果所有子节点勾选则返回父节点id,否者需要继续往下一层找寻处于完全勾选状态的节点

下图中圈红处,如果节点隐藏(搜索过滤时)那么getCheckStatus返回null

image

zTree commented 4 years ago

zTree 对于隐藏节点是不处理 勾选状态的,所以 你这么处理本身也会出现问题,因为 父节点的勾选状态可能会由于 被勾选的子节点隐藏而发生变化的。 你这种情况,我建议根据自己的逻辑,利用 getNodesByFilter 方法自己编写 获取节点的逻辑比较适合。

laiguangtao commented 4 years ago

目前暂时的解决方式,是在获取的前一步骤把所有节点显示出来。 但博主说的getNodesByFilter的方法,应该也会有一样的问题吧?对于隐藏状态的节点,如果半选状态组件的内部属性无法提供支持,那就需要在全局(组件外围)实现相关勾选状态的对比逻辑了吧