错误现象
先看下我的需求,表格的column是后端返回,且个数不是固定的,第一列需要进行合并,第二列开始需要支持展开。
接下来是第一次尝试实现,在column里面通过items的数据筛选,确定rowSpan的值,结果就是第一列可以正常合并,但是一展开,
就会错位。
const columns = [
{
title: '分类',
dataIndex: 'sort',
key: 'sort',
ellipsis: true,
onCell: (record: any, index: number) => {
const arr = items.filter((res: any) => res.sort === record.sort);
const rowSpan = index === 0 || items[index - 1].sort !== record.sort ? arr.length : 0;
return {
rowSpan: rowSpan,
children: record.sort,
};]
原因和解决思路
我这种写法rowSpan是固定的,前面第一列的合并个数是固定的,而antd的展开是相当于增加了一整行,然后页面合并就会错位。我太菜,搞不定了,求助大佬。
大佬解决思路:单击一个展开就相当于增加了一行,前面第一列的合并就需要增加一行,又因为可以同时展开多行&#