el-table 合计时 根据条件进行加减合计

2021/5/7 0:36:55 | 阅157 来源:好空间网络 [打印] [关闭]
 

  // 表格
   <el-table :data="tableData" border stripe style="width: 100%" show-summary :summary-method="getSummaries"></el-table>
   
   // 方法
   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 (column.property === 'pric') {
          sums[index] = values.reduce((prev, curr, e) => {
            console.log(values)
            console.log('prev=' + prev, 'curr=' + curr, 'e=' + e, 'data.isadd=' + data[e].isadd)

            return data[e].isadd === 0 ? prev - curr : prev + curr
            
          }, 0)
          sums[index] += ''
         
        }
      })


这里主要的地方在于

sums[index] = values.reduce((prev, curr, e) => {
      
            return data[e].isadd === 0 ? prev - curr : prev + curr
            
          }, 0)


这里可以自定义一个e 进去,他是 数据的下标

可以结合 上面传递进来的data[e]的形式获得 isadd 是0 还是1  是1就增加 是0则想减少

这样就可以实现增加和减少了


1.png

经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。