el-table 合并单元格

绑定合并事件

<el-table :data="tableData" :span-method="objectSpanMethod" border height="400">
    <el-table-column prop="FType" label="检验类型" :formatter="Table_FType_Formatter" width="180">
    </el-table-column>
    <el-table-column prop="ProductName" label="物料名称">
    </el-table-column>
    <el-table-column prop="ProductSpec" label="规格型号">
    </el-table-column>
    <el-table-column prop="BJNum" label="报检数量(求和)">
    </el-table-column>
    <el-table-column prop="BHGNumber" label="样品破坏数(求和)">
    </el-table-column>
    <el-table-column prop="HGNumber" label="合格数量(求和)">
    </el-table-column>
</el-table>

定义合并方法

data: {
    tableData:[], // 表格数据
    rowSpanArr: []
},
methods: {
    handleTableData(tableData) { // 在获取表格数据的地方调用
        // 获取相同名称的个数 tableData: 表格的数据, FType: 确定相同的参数
        let rowSpanArr = [], position = 0;
        for (let [index, item] of tableData.entries()) {
            if (index == 0) {
                rowSpanArr.push(1);
                position = 0;
            } else {
                if (item.FType == tableData[index - 1].FType) {
                    rowSpanArr[position] += 1; //项目名称相同,合并到同一个数组中
                    rowSpanArr.push(0);
                } else {
                    rowSpanArr.push(1);
                    position = index;
                }
            }
        }
        this.rowSpanArr = rowSpanArr
    },
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
        if (columnIndex === 0) {
            const rowSpan = this.rowSpanArr[rowIndex];
            return {
                rowspan: rowSpan, //行
                colspan: 1 //列
            };
        }
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值