关于element ui table回选的问题思考

业务需求

选设备,左侧树,右侧是树,下方是element的tag

原先版本是左右都是树,这样出现了一个问题

当左侧是虚拟滚动树的时候,展开的节点过多,右侧点击全选的时候会很慢,

原因:查看源码之后发现,tree-store.js中,element ui在树注册的时候,getAllNodes是页面中所有的节点,意思就是把其他的树节点也遍历了一遍,导致性能慢

 

解决办法,讲tree改成table,当改成table的时候问题就变得简单了,

但是就又遇到了一个问题,那就是回选的问题

回选的时候表格支持回选的api是toggleRowSelection,但是需要注意的是一定要记得加 nextTick

this.$nextTick(()=>{
    this.$refs.multipleTableRight.toggleRowSelection(tag,false)
})

  

 但是如果切换表格,就比如点击左侧树刷新右侧表格的同样会出现选不上的情况

解决办法,就是表格表格的数据,删除的row需要用表格数据的row,不能用树的row,就算看起来数据一样也不行

可以参考网页  https://blog.csdn.net/Centenario_0/article/details/125151259

posted @ 2023-08-16 20:32  人在路途  阅读(22)  评论(0编辑  收藏  举报