0
点赞
收藏
分享

微信扫一扫

avue自定义合计方法

烟中雯城 2022-04-17 阅读 234
<avue-crud
          :data="tableData"
          :option="tableOption"
          :summary-method="summaryMethod"
        ></avue-crud>  



//以下的方法代码写在methods中,此合计方法接受两个值,columns是列信息,data是行信息
 summaryMethod({ columns, data }) {
      const sums = [];
      if (columns.length > 0) {
        columns.forEach((column, index) => {
          if ([0].includes(index)) {
            sums[index] = "合计";
          } else if (["add"].includes(column.property)) {   //add,是的prop,写在此数组中的列不会被合计
            //过滤某些字段不参与计算
            sums[index] = "-";
          } else {
            let 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);
            }
          }
        });
      }
      return sums;
    },
举报

相关推荐

0 条评论