vxe-table
vxe-table copied to clipboard
虚拟树新增根节点fullData未获取到问题
可复现的链接:
https://jsrun.net/gpEKp/edit
问题描述与截图:
- 点击表格头部的新增行, 然后点击获取数据, 观察
console
, 发现fullData
只有一条根节点数据, 而tableData
有两条数据 - 重新运行
- 点击表格首行操作列的添加子行按钮, 然后点击获取数据, 观察
console
, 发现fullData
有两条子节点数据,tableData
子节点也是两条数据
问题: 上述场景是在无虚拟滚动的情况下, 如果是虚拟滚动可编辑&可筛选场景, 则通过getTableData
API可能无法获取到全量表格数据
期望的结果:
No response
操作系统:
macos catalina 10.15.7
浏览器版本:
105.0.5195.125
vue 版本:
2.6.0
vxe-table 版本:
3.6.6
loadTableData API
![]()
问题原因: tableFullData
、tableFullTreeData
之间并无关联, 而它们的children对象应该不是深拷贝的,所以如果children存在时, 他们的引用指向同一个对象,当tableFullTreeData的children对象改变时, tableFullData的children也改变了,但是tableFullTreeData push根节点, 或者children从无到有时, 就不会联动 tableFullData 改变了。
从而导致了如上问题。