ElementUI表格自定义列自动合计

 ps:每列底部进行自动合计

用到的ElementUI组件

点击直达

 el-table添加自定义方法和显示合计列

直接上代码,解释在最后,感兴趣就看下

<el-table
      v-loading="loading"
      :data="mailList"
      show-summary
      :summary-method="getPaperNum"
      border
    >
getPaperNum(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 === 'paperNum') {
          sums[index] = values.reduce((prev, curr) => {
            const value = Number(curr);
            if (!isNaN(value)) {
              return prev + curr;
            } else {
              return prev;
            }
          }, 0);
          sums[index];
        } else {
          sums[index] = '--';
        }
      });

      return sums;
    },

ps:getPaperNum方法里要修改为你想显示的列

 齐活=

element-ui 表格组件提供了 `sort-method` 属性来自定义排序规则。你可以在 `sort-method` 中传入一个函数,该函数接收两个参数:`prop` 和 `order`,分别表示当前排序的字段和排序的顺序(升序或降序)。函数需要返回一个数字,表示两个数据的大小关系,如果返回值小于 0,则表示第一个数据应该排在第二个数据前面,如果返回值大于 0,则表示第一个数据应该排在第二个数据后面,如果返回值等于 0,则表示两个数据相等。 下面是一个示例代码: ```html <template> <el-table :data="tableData" :sort-method="sortTable"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="score" label="分数"></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, score: 90 }, { name: '李四', age: 20, score: 80 }, { name: '王五', age: 22, score: 70 }, ], }; }, methods: { sortTable(prop, order) { return (a, b) => { const valueA = a[prop]; const valueB = b[prop]; if (order === 'ascending') { return valueA - valueB; } else { return valueB - valueA; } }; }, }, }; </script> ``` 在上面的代码中,我们定义了一个 `sortTable` 方法来处理表格的排序。该方法接收两个参数:`prop` 和 `order`,分别表示当前排序的字段和排序的顺序。在方法中,我们返回一个函数,该函数接收两个参数:`a` 和 `b`,分别表示两个数据。在函数中,我们根据当前排序的字段和排序的顺序来比较两个数据的大小关系,并返回一个数字。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xkng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值