element中el-table(合计)计算指定列

本文介绍了如何在 Element UI 的 el-table 组件中实现指定列的合计值显示,针对前端开发中使用 Vue.js 和 JavaScript 的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

element中el-table(合计)计算指定列

在这里插入图片描述

想要某列展示合计数值的

 <el-table
        :data="tableData"
        style="width: 100%"
        :header-cell-style="{ background: '#F8F9FB' }"
        :summary-method="getSummaries" //重点1
        show-summary//重点2
      >
    <el-table-column align="center" label="余额" min-width="100" prop="money">//重点3 prop=""
          <template slot-scope="{ row }">
            {{ row.money || '-' }}
          </template>
        </el-table-column>
     </el-table>
 // 计算总计价格
    getSummaries(param) {
      const { columns, data } = param //这里可以看出,自定义函数会传入每一列,以及数据
      const sums = []
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计'
          return
        } else if (index === 3 || index === 4) {
          //index===2||index===8和9和12后的列进行求和
          //页面分别统计 处理
          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)

            //此处结合了方式一的判断处理,实现多种条件处理
            //此处的column.property获取的值对应<el-table-column>中prop对应的字段
            switch (column.property) {
              case 'total1':
              case 'total2':
              case 'total3':
                return (sums[index] = sums[index])
                break
            }
          } else {
            sums[index] = '' //如果列的值有一项不是数字,就显示这个自定义内容
          }
        } else {
        }
      })
      return sums //最后返回合计行的数据
    },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值