vxe-table icon indicating copy to clipboard operation
vxe-table copied to clipboard

虚拟树新增根节点fullData未获取到问题

Open yixiu025 opened this issue 2 years ago • 1 comments

可复现的链接:

https://jsrun.net/gpEKp/edit

问题描述与截图:

  1. 点击表格头部的新增行, 然后点击获取数据, 观察console, 发现fullData只有一条根节点数据, 而tableData有两条数据
  2. 重新运行
  3. 点击表格首行操作列的添加子行按钮, 然后点击获取数据, 观察console, 发现fullData有两条子节点数据, tableData子节点也是两条数据

问题: 上述场景是在无虚拟滚动的情况下, 如果是虚拟滚动可编辑&可筛选场景, 则通过getTableDataAPI可能无法获取到全量表格数据

期望的结果:

No response

操作系统:

macos catalina 10.15.7

浏览器版本:

105.0.5195.125

vue 版本:

2.6.0

vxe-table 版本:

3.6.6

yixiu025 avatar Sep 19 '22 04:09 yixiu025

loadTableData API image image

问题原因: tableFullDatatableFullTreeData之间并无关联, 而它们的children对象应该不是深拷贝的,所以如果children存在时, 他们的引用指向同一个对象,当tableFullTreeData的children对象改变时, tableFullData的children也改变了,但是tableFullTreeData push根节点, 或者children从无到有时, 就不会联动 tableFullData 改变了。 从而导致了如上问题。

yixiu025 avatar Sep 19 '22 04:09 yixiu025