关于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