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

[vxe-table v4.3.5] 参数 "tree-config.transform" 与 "row.children" 有冲突

Open syschan opened this issue 1 year ago • 13 comments

可复现的链接:

      :row-config="{ isCurrent: true, keyField: 'id' }"           :checkbox-config="{ labelField: 'name', checkRowKeys: demo.formData.menu }"           :tree-config="{ transform: true, rowField: 'id', parentField: 'parent', expandRowKeys: [1] }"

问题描述与截图:

从4.3.0-beta.5版升级到v4.3.5后提示 :row-config="{ isCurrent: true, keyField: 'id' }" :checkbox-config="{ labelField: 'name', checkRowKeys: demo.formData.menu }" :tree-config="{ transform: true, rowField: 'id', parentField: 'parent', expandRowKeys: [1] }"

image

期望的结果:

告知冲突的解决办法

操作系统:

win10

浏览器版本:

edge 105.0.1343.50 (正式版本) (64 位)

vue 版本:

3.2.37

vxe-table 版本:

v4.3.5

syschan avatar Sep 25 '22 11:09 syschan

if (state.tableConfig.isTree) { const computeData = (menuArr) => { menuArr.forEach((element) => { if (element.leaf !== undefined || element.leaf !== null) { element.leaf = !element.leaf } if (element.children && element.children.length) { computeData(element.children) } }) } if (res.data.length) { computeData(res.data) } res.data = prototype.$XEUtils.toTreeArray(res.data) res.data.forEach((element) => { delete element['children'] }) } 如果是平铺数据的状态下,删掉children就好了

sjwwap avatar Oct 19 '22 08:10 sjwwap

如果删掉children,在渲染的时候一级分类想获取其子集的长度等操作的时候就会很难计算

Gacent avatar Oct 21 '22 06:10 Gacent

渲染是由vxe-table完成的,他会自动将你的平铺数据转成树结构,如果你想计算父节点下数据条目,平铺状态下很容易计算啊,或者最开始也可以在树结构下遍历后赋值给父元素。

sjwwap avatar Oct 21 '22 09:10 sjwwap

image image image

为啥平铺数据下没有children也还是报错

Gacent avatar Mar 03 '23 09:03 Gacent

蹲一下 我也发现了这个问题。 :tree-config="{ transform: true, rowField: 'fid', parentField: 'parentId'} 因为特殊原因 每一行的id值可能有重复。我设置成fid唯一值 也会报这个错误。很烦人

let data = [
  {id: 123, fid: 2, parentId: null, name: "ceshi1", 'age': 88},
  {id: 345, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 678, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 444, fid: null, parentId: 2, name: "ceshi1", 'age': 88},
  {id: 123, fid: 5, parentId: null, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 5, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 5, name: "ceshi1", 'age': 88},
  {id: 123, fid: null, parentId: 5, name: "ceshi1", 'age': 88},
];

lait233 avatar Apr 19 '23 13:04 lait233

最新版本也还是有这个问题

Ttou avatar May 23 '23 01:05 Ttou

还是有类似的问题

Cloud-Iris avatar Jun 22 '23 08:06 Cloud-Iris

image

为啥会自动给我返回的数据添加 我删都删除不了 image

fengfangFH avatar Jul 24 '23 09:07 fengfangFH

在计算属性重新赋值时删除子节点

new-hand-wang avatar Nov 16 '23 03:11 new-hand-wang

目前 dev模式会报这个错误,而且页面卡顿。但是prod模式不会报这个错误,也不会卡顿

doglex avatar Apr 26 '24 01:04 doglex

image image image image 先添加了一行配置完成后,在旧数据下配置一个值类型后,出现冲突,导致添加的那行直接消失了

zyy7018 avatar Apr 29 '24 02:04 zyy7018