element-ui el-table 中合并行或列的计算方法如何实现"多个表"不同行的合并

用el-table画多个表,第一列要合并展示。所以需要知道每个表的数据总数。

如图示:

span-method 的方法实现里。参数无法传递。单一表时,可以通过对 this.tabledata(表格数据)来处理运算得到。

但同时多个表,就没法区分了。

span-method内部方法,只允许一个对象四个参数,Function({ row, column, rowIndex, columnIndex })

 

想着往里传参,也没法解决。。。卡住了。。。

 

 

突然想起第一个参数,row,这是当前数据行。把计数写到对应行数据里面,不就解决了?

测试通过!

其实这就是一个思考角度的问题,总想直接外部解决。实际数据构组装时,就可以知道对应行列的分布和设计,从而在row数据内,做好相应的数据准备,灵活应用,可以组成复杂的,类似excel的任意合并效果。

------------------------

如下部分代码:

循环略,item为表一个子项

<el-table
  :data="item.tableData"
  :span-method="objectSpanMethod"
  style="width: 100%"
  border
>
tableDatas: 
[
"tableData": [{
    rowcount: 4,
    rowtitle:'总',
    "n":"10",
    "0": '12.34',
    "1": '1.1',
    "2": '2.2',
    "3": '3.3',
    "4": '4.4',
    "5": '5.5',
    "6": '6.6',
    "7": '7.7',
    "8": '0.1110101'
},{ "n":"20", "0": '12.34', "1": '1.1', "2": '2.2', "3": '3.3', "4": '4.4', "5": '5.5', "6": '6.6', "7": '7.7', "8": '0.1110101' }
...
],
...
]
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
    if (columnIndex === 0 && rowIndex === 0) {
        return {
            rowspan: row.rowcount ? row.rowcount : 1,
            colspan: 1
        };
    } else if (columnIndex === 0){
        return {
            rowspan: 0,
            colspan: 0
        };
    }
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值