el-table的横纵向求和

表格的自动求和

横向求和

利用slot-scope=“scope"插槽的方式实现,scope有两个内置的参数
slot-scope=”{row,column}"

<el-table ref="table" v-loading="crud.loading" size="small" style="width: 100%;" border align="center" :data="buildData" :span-method="objectSpanMethod">
	<el-table-column prop="classTimeNum" label="课时数" />
	<el-table-column prop="sigleLessonFee" label="课时费" />
	<el-table-column prop="" label="计算">
	  <template slot-scope="scope"> 
	    {{ Number(scope.row.classTimeNum)+Number(scope.row.studentNum)}}
	  </template>
	</el-table-column>
</el-table>

纵向求和

纵向求和show-summary或者:summary-method=“getSummaries”

视图

<template>
	<el-table
    :data="tableData"
    border
    height="200"
    :summary-method="getSummaries"
    show-summary
    style="width: 100%; margin-top: 20px">
    ........
    </el-table>
 </template>

方法

 methods: {
   getSummaries(param) {
     const { columns, data } = param;
     const sums = [];
     columns.forEach((column, index) => {
       if (index === 0) {
         sums[index] = '总价';
         return;
       }
       const values = data.map(item => Number(item[column.property]));
       if (!values.every(value => isNaN(value))) {
         sums[index] = values.reduce((prev, curr) => {
           const value = Number(curr);
           if (!isNaN(value)) {
             return prev + curr;
           } else {
             return prev;
           }
         }, 0);
         sums[index] += ' 元';
       } else {
         sums[index] = 'N/A';
       }
     });

     return sums;
   }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值