业务需要要合并表格中的相同内容
后台返回了相同内容的次数具体显示在dataSource
const columns = [
{
title: '编号',
dataIndex: 'rank',
key: 'rank',
render:(val,row,index)=>{
const obj = {
children:value,
props:{}
}
//判断maxRank(后台返回相同内容出现的次数)的次数
if(row.maxRank>0){
obj.props.rowSpan = row.maxRank
}else{
obj.props.rowSpan = 0
}
return obj
}
},
{
title: '名字',
dataIndex: 'name',
key: 'name',
},
{
title: '年龄',
dataIndex: 'age',
key: 'age',
},
];
dataSource内容:
const data = [
{
key:0,
rank:'1',
name:'aa',
age:20,
maxRank:3,//后台返回的相同内容出现的次数
},
{
key:1,
rank:'1',
name:'aa',
age:20,
maxRank:0,//不需要合并的会表示0
},
{
key:2,
rank:'1',
name:'aa',
age:20,
maxRank:0,
},
{
key:3,
rank:'2',
name:'bb',
age:22,
maxRank:0,
},
]
问题来了: 根据columns中判断的话dataSource中的maxRank有大于0的,表格能成功合并。但是如果dataSource中的maxRank都是等于0(则没有重复项)就会出现单元格不显示,我了解到obj.props.rowSpan = 0相当于不渲染单元格 我的判断方式是不是有错误或者还需要添加某些判断?或者还有其他实现方案?
你需要把“编号”这一列第 2 行第 3 行的
rowSpan
设为 0