2021/04/29 vue用computed实现table列求和

  • 实现效果
    表格数据计算
  • 代码
1.template
<template v-if="list.length != 0">
          <tr
             style="text-align: center"
             v-for="(listData, index) in list"
             :key="index"
           >
             <td>{{ listData.settle_date }}</td>
             <td>{{ listData.settle_type }}</td>
             <td>{{ listData.settle_id }}</td>
             <td>{{ listData.it_amount }}</td>
             <td>{{ listData.sign_amount }}</td>
             <td>{{ listData.service_fee }}</td>
           </tr>

          <!-- 合计 行 -->
           <tr>
             <td colspan="3">合计</td>
             <td>{{ sumJSAmount }}</td>
             <td>{{ sumQSAmount }}</td>
             <td>{{ sumQSFeeAmount }}</td>
           </tr>
    </template>

2.js
computed: {
    //结算金额合计
    sumJSAmount() {
      let sum = "";
      this.list.forEach((element) => {
        sum += element.it_amount;
      });
      return sum;
    },
    //签收金额合计
    sumQSAmount() {
      let sum = "";
      this.list.forEach((element) => {
        sum += element.sign_amount;
      });
      return sum;
    },
    //签收服务费合计
    sumQSFeeAmount() {
      let sum = "";
      this.list.forEach((element) => {
        sum += element.service_fee;
      });
      return sum;
    },
  },

–同理,其他的计算也能直接写在相应的函数中


  • computed对table列操作记录
  • 如果有格式问题,比如后端返回0,null,需要统一格式,要在页面上显示为‘- -’这种情况,也能用computed实现效果
    –代码
//1.template
<tr
    style="text-align: center"
      v-for="(listData, index) in settle_info"
      :key="index"
 >
      <td>{{ listData.settle_id }}</td>
      <td>{{ listData.it_amount }}</td>
      <!-- <td>{{ listData.deduct_pay_code }}</td> -->
      <!-- <td>{{ listData.deduct_prepay_amount }}</td> -->
      <td>{{ emptyShowOne }}</td>
      <td>{{ emptyShowTwo }}</td>
 </tr>
//2.js
//关联预付款金额
    emptyShowTwo() {
      switch (this.settle_info.deduct_prepay_amount) {
        case 0:
          return "--";
          break;
        case undefined:
          return "--";
          break;
      }
    },
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值