Element-Ui中Table表格底部合计计算

虽然element-ui里面的table标签给我们提供了一个show-summary属性,但是他会把整个table中的所有数据都会计算并在底部出现.里面夹杂着我们不想让它合计计算的数据.那该怎么去除呢?往下看...

上图中我们可以看到,收款方式和收款周期,是属于类型,是后端返回给我们的0和1,但是他们却计算了,因为我们只是单纯的使用了element-ui给我们提供的show-summary方法,我们不想让他们计算,由此我们要把它底部的合计去除掉...请看下文

 我们可以使用这个方法即可解决

第一步 除了给table标签添加这个show-summary属性外,还要再给他加一个方法

:summary-method="totalOutYear",当然属性名可以随意取

第二部 在methods中使用 totalOutYear 这个参数

methods:{

  totalOutYear(param) {

      const { columns, data } = param;

      console.log(columns, "合计");

      const sums = [];

      columns.forEach((column, index) => {

        if (index === 0) {

          sums[index] = "合计";

          return;

        }

        const values = data.map(item => Number(item[column.property]));

        if (

          column.property != "clientName" && //clientName这个参数是你table标签中不想合计计算的参数,在&&后面可以继续使用column.property != " " 这个方法,当写最后一个column.property != " "方法的时候记得不要带&&,否者会报错

        ) {

          sums[index] = values.reduce((prev, curr) => {

            const value = Number(curr);

            if (!isNaN(value)) {

              return prev + curr;

            } else {

              return prev;

            }

          }, 0);

          sums[index];

        }

      });

      return sums;

    },

}

 

这样就成功了! 记得点赞收藏哦! 谢谢

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值