0

业务需要要合并表格中的相同内容
后台返回了相同内容的次数具体显示在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相当于不渲染单元格 我的判断方式是不是有错误或者还需要添加某些判断?或者还有其他实现方案?

2018-03-08 提问
3 个回答
1

你需要把“编号”这一列第 2 行第 3 行的rowSpan设为 0

0

解决了么 我也遇到了这个问题

撰写答案

你可能感兴趣的

推广链接