el-table树状表格末行合计

首先,由于我的表头是动态的,所以就稍微复杂一点

效果图

表头数据格式是这样的

表格的数据格式是这样的

然后用合并的方法,此处就需要递归去计算,根据props去匹配每一列的数据,然后加起来,关键代码

复制代码
    //合计处理
    getSummaries(param) {
      const { columns, data } = param;
      const sums = ["合计"];

      let num = 0;
      const func = (arr, props) => {
        arr.forEach((item) => {
          if (item.map) {
            const value = item.map[props];
            // 转数字
            num += value && value != "" ? Number(value) : 0;
          }
          if (item.children && item.children.length > 0) {
            func(item.children, props);
          }
        });
      };

      columns.forEach((item, index) => {
        if (index > 0) {
          const props = item.property;
          num = 0;
          func(data, props);
          sums.push(num);
        }
      });

      return sums;
    },
相关推荐
goDeep7 分钟前
useMemo 和 useCallback 的区别,我终于搞懂了
前端
小亮学前端9 分钟前
在1Panel中部署Nuxt项目
前端·vue.js
产品研究员12 分钟前
AI生成可用的React交互代码实测:Lovable vs Stitch vs Paico
前端·react.js·aigc
labixiong13 分钟前
Prompt 工程:当一段文字学会了思考、行动与统治
前端·ai编程
用户8417948145615 分钟前
vxe-table 虚拟滚动下自定义行高:支持每行独立高度与自适应
vue.js
biubiubiu_LYQ16 分钟前
入门开发者必学篇之JS事件循环:为什么你的代码输出总翻车?
前端·javascript
HwJack2024 分钟前
鸿蒙背景下 Cocos Creator 的三大 JS 引擎:JIT 与热更新的十字路口
javascript·华为·harmonyos
程序员黑豆37 分钟前
AI全栈开发之Java:怎么安装JDK
前端·ai编程·全栈
周杰伦fans38 分钟前
AutoCAD C# 二次开发:如何精确监听工作空间切换事件
前端·c#
丷丩1 小时前
MapLibre GL JS第41课:向地图添加图标
前端·javascript·mapbox·maplibre gl js