zTree / zTree_v3

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

渲染勾选问题 #485

Closed everyPassion closed 3 years ago

everyPassion commented 3 years ago

我目前用的是zTree-v3.5在vue3上,为了解决大数据渲染问题。 现在我遇到一个问题,如下: (1):我的数据是{name:'',type:1,id:'',children}这种对象数组, type===1渲染公司自定义节点,type===2渲染为车辆的自定义节点,然后渲染为勾选模式的树,所以树的渲染后应该是公司在顶层,最底层为车辆。 (2):然后当前比如我知道了1000辆已经勾选的车辆ID,我想在首次渲染完这颗树后把这1000辆车勾上,模式是父子都影响关联, 我当前的做法是如下

const nodes = checkIds.forEach(id => { const node = zTreeObj.getNodeByParam("id", id, null) zTreeObj.checkNode(node, true, true, true) })

我测试了下全选就会很慢,我不知道该用什么写法来完成这个需求?

ps: 就是已知一个数组长度为2000的id集合,每个id都是某个treeNode的id,现在怎么根据这些id快速渲染出对应的勾选结果,我上面的做法应该是重复了太多次没意义的操作!

zTree commented 3 years ago

你这种情况完全没必要采用 父子影响的关联方式,根据数据就可以快速获取有多少父节点,逐一设置单个节点就可以了