virtuallist-antd icon indicating copy to clipboard operation
virtuallist-antd copied to clipboard

合并单元格的情况下,使用antd v3 或者 v4都会出现高度计算错误的问题

Open SamWeichangyue opened this issue 4 years ago • 11 comments

跨行的情况下,使用antd v3 或者 v4都会出现高度计算错误的问题;

在readme中随便找一个column,将他的render替换为: render: (value, row, index) => { const obj = { children: value, props: { rowSpan: (index + 1) % 10 } }; return obj; }

SamWeichangyue avatar Jan 07 '21 07:01 SamWeichangyue

原来的设计是把每行都弄成同样的高度.... 然后再根据滚动条当前所在位置, 判断是第几个元素..
错乱了是因为你的rowSpan破坏了同样高度的问题. 设置了某列render为你的写法之后, 你看渲染的条数是没有问题的, 但是数据会出现遮盖.

========================================================== 当前的设计是不能为每行设置不同的高度的, 我会以第一行的高度为准, 以第一行的高度来规定每行的高度. (这是固定高度的虚拟列表)

crawler-django avatar Jan 07 '21 09:01 crawler-django

而且你使用跨行的话, 你的写法是每行都会有数据的, 就会出现问题, 而如果是return index % 2 === 0 ? obj : null的话, 就不会有问题

crawler-django avatar Jan 07 '21 09:01 crawler-django

你是想要哪种场景? 每行都有数据 正常的antd-table不用虚拟列表会出现这样的场景: https://codesandbox.io/s/biaogexingliehebing-antd4100-forked-yr6cs 这是你要的吗?

crawler-django avatar Jan 07 '21 09:01 crawler-django

和你的comment 例子表达的是一样的,跨行就是某些行拥有相同的数据,方便用户统计

SamWeichangyue avatar Jan 07 '21 09:01 SamWeichangyue

但是, 虚拟列表是展现有限的条数, 比如1-20行都有相同的数据, 那么第一行就rowSpan: 20, 你滚动到下面, 那虚拟列表就会重新加载下面的数据, 此时第一行就会消失了. 数据就会出现问题了.

合并行的主要问题是 滚动到下面 重新加载数据的时候, 上面拥有rowSpan的那个数据已经被清掉了.

crawler-django avatar Jan 07 '21 09:01 crawler-django

暂时想不出有什么好办法解决这个问题, 缓兵之计让虚拟列表多加载点数据?

crawler-django avatar Jan 07 '21 09:01 crawler-django

如果需要, 我可以暴露一个变量, 可以让你控制虚拟列表的临界数量. 我预先设置的数量为2-3个.

这可以解决一部分问题(一般只有2 3三个合并的话, 直接临界设10就可解决), 但是解决不了我上面说的有很多行都是一样的数据, 甚至上100行那种.

crawler-django avatar Jan 07 '21 09:01 crawler-django

大佬,现在支持合并单元格时,rowSpan数值不定的情况吗?

Charlespater avatar Jan 22 '21 08:01 Charlespater

但是, 虚拟列表是展现有限的条数, 比如1-20行都有相同的数据, 那么第一行�就rowSpan: 20, 你滚动到下面, 那虚拟列表就会重新加载下面的数据, 此时第一行就会消失了. 数据就会出现问题了.

合并行的主要问题是 滚动到下面 重新加载数据的时候, 上面拥有rowSpan的那个数据已经被清掉了.

使用虚拟列表不要使用合并行.

crawler-django avatar May 13 '21 10:05 crawler-django

希望可以跟进一下这个问题~~ 同有需求场景

wengsj11 avatar Jul 15 '21 01:07 wengsj11

合并行能支持分页吗? 如果不支持, 虚拟列表也做不到

crawler-django avatar Jul 16 '21 00:07 crawler-django