iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Vue怎么使用ElemenUI对table的指定列进行合算
  • 593
分享到

Vue怎么使用ElemenUI对table的指定列进行合算

2023-07-05 10:07:41 593人浏览 八月长安
摘要

这篇文章主要介绍“Vue怎么使用ElemenUI对table的指定列进行合算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue怎么使用ElemenUI对table的指定列进行合算”文章能帮助大家解

这篇文章主要介绍“Vue怎么使用ElemenUI对table的指定列进行合算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue怎么使用ElemenUI对table的指定列进行合算”文章能帮助大家解决问题。

前言

table中有一项内容是花销的金额。然后想在table的底部有一项内容是该金额的总计。然后我就顺着elemetui的table组件寻找相关的demo,还真发现了一个这样的demo。

Vue怎么使用ElemenUI对table的指定列进行合算

对于这个demo,官方是这么描述的:

将show-summary设置为true就会在表格尾部展示合计行。默认情况下,对于合计行,第一列不进行数据求合操作,而是显示「合计」二字(可通过sum-text配置),其余列会将本列所有数值进行求合操作,并显示出来。当然,你也可以定义自己的合计逻辑。使用summary-method并传入一个方法,返回一个数组,这个数组中的各项就会显示在合计行的各列中,具体可以参考本例中的第二个表格。

通过描述可以发现几个要点:

可以通过show-summary开启在表格尾部展示合计行,默认是false,改成true即可开启,第一列不进行数据求合操作。
2.尾部合计的文案默认是合计,可以通过sum-text自定义修改
3.可以通过summary-method编写一个函数,自定义合计的逻辑

Vue怎么使用ElemenUI对table的指定列进行合算

官方的原生代码如下:

<template>  <el-table    :data="tableData"    border    show-summary    >    <el-table-column      prop="id"      label="ID"      width="180">    </el-table-column>    <el-table-column      prop="name"      label="姓名">    </el-table-column>    <el-table-column      prop="amount1"      sortable      label="数值 1">    </el-table-column>    <el-table-column      prop="amount2"      sortable      label="数值 2">    </el-table-column>    <el-table-column      prop="amount3"      sortable      label="数值 3">    </el-table-column>  </el-table>  <el-table    :data="tableData"    border    height="200"    :summary-method="getSummaries"    show-summary    >    <el-table-column      prop="id"      label="ID"      width="180">    </el-table-column>    <el-table-column      prop="name"      label="姓名">    </el-table-column>    <el-table-column      prop="amount1"      label="数值 1(元)">    </el-table-column>    <el-table-column      prop="amount2"      label="数值 2(元)">    </el-table-column>    <el-table-column      prop="amount3"      label="数值 3(元)">    </el-table-column>  </el-table></template><script>  export default {    data() {      return {        tableData: [{          id: '12987122',          name: '王小虎',          amount1: '234',          amount2: '3.2',          amount3: 10        }, {          id: '12987123',          name: '王小虎',          amount1: '165',          amount2: '4.43',          amount3: 12        }, {          id: '12987124',          name: '王小虎',          amount1: '324',          amount2: '1.9',          amount3: 9        }, {          id: '12987125',          name: '王小虎',          amount1: '621',          amount2: '2.2',          amount3: 17        }, {          id: '12987126',          name: '王小虎',          amount1: '539',          amount2: '4.1',          amount3: 15        }]      };    },    methods: {      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 (!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);            sums[index] += ' 元';          } else {            sums[index] = 'N/A';          }        });        return sums;      }    }  };</script>

接下来就改造下代码,根据自己的需求去修改对应的逻辑。

show-summary合计项初始化

首先把相关的代码加上,初始化就是这样的一个效果

Vue怎么使用ElemenUI对table的指定列进行合算

Vue怎么使用ElemenUI对table的指定列进行合算

sum-tex修改文案

但是默认的文案是合计,有时候我们可能需要根据自己的场景进行修改

这时候就可以使用sum-tex属性进行修改了,比如我这里修改:

sum-text="总共消费

Vue怎么使用ElemenUI对table的指定列进行合算

效果马上就来

Vue怎么使用ElemenUI对table的指定列进行合算

但是这时候还有一个问题,我只想要消费金额这一列进行汇总,但是现在的情况是把table全部的列都汇总了。甚至把我的字典值都汇总了。

这显然不符合我的需求,这时候就可以使用自定义函数了。

Vue怎么使用ElemenUI对table的指定列进行合算

summary-method自定义函数

和前面两个属性一样,直接加在table中即可。由于它的值是一个函数,所以写法和前两位略有不同。

Vue怎么使用ElemenUI对table的指定列进行合算

Vue怎么使用ElemenUI对table的指定列进行合算

我们也可以再这个函数里面通过 sums[index] 去定义总价的文案,如果sum-text和函数里面定义的 sums[index] 有冲突,会以函数中的 sums[index] 文案为主

Vue怎么使用ElemenUI对table的指定列进行合算

这时候的效果是这样的。

Vue怎么使用ElemenUI对table的指定列进行合算

自定义总计列 单个列

如果我们只想要对某一列进行总计,那么可以借助column的property属性:

Vue怎么使用ElemenUI对table的指定列进行合算

可以发现其实就是全部的属性名称,那么我们就可以根据它判断,实现自定义核算了

Vue怎么使用ElemenUI对table的指定列进行合算

比如这里我想要核算amount这一列的值:

Vue怎么使用ElemenUI对table的指定列进行合算

Vue怎么使用ElemenUI对table的指定列进行合算

多个列

如果哪天又加了一个需求,需要再算一个列,这时候在判断里面加上这个条件即可。使用|| 拼接该列

比如这里我又要合算remark这一列。就可以这么写:

Vue怎么使用ElemenUI对table的指定列进行合算

Vue怎么使用ElemenUI对table的指定列进行合算

相关代码如下:

<el-table       :data="moneyTableData.slice((currentPage-1)*pagesize,currentPage*pagesize)"        highlight-current-row       border       stripe      fit      show-summary      sum-text="总共消费"      :summary-method="getSummaries"    >// 对列进行合算    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]));          // 只对amount这一列进行总计核算。         if (column.property === 'amount') {            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);                sums[index] += ' 元';              } else {                sums[index] = '---'            }         }      });        return sums;    },

关于“Vue怎么使用ElemenUI对table的指定列进行合算”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Vue怎么使用ElemenUI对table的指定列进行合算

本文链接: https://www.lsjlt.com/news/351133.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue怎么使用ElemenUI对table的指定列进行合算
    这篇文章主要介绍“Vue怎么使用ElemenUI对table的指定列进行合算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue怎么使用ElemenUI对table的指定列进行合算”文章能帮助大家解...
    99+
    2023-07-05
  • Vue使用ElemenUI对table的指定列进行合算的方法
    目录前言show-summary合计项初始化sum-tex修改文案summary-method自定义函数自定义总计列 单个列多个列总结前言 最近有一个想法,就是记录自己花销的时候,t...
    99+
    2023-03-08
    Vue table指定列合算 Vue ElemenUI对table指定列合算
  • ElementUI怎么对table的指定列进行合算
    今天小编给大家分享一下ElementUI怎么对table的指定列进行合算的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言最...
    99+
    2023-07-05
  • ElementUI对table的指定列进行合算
    目录前言show-summary合计项初始化sum-tex修改文案summary-method自定义函数自定义总计列单个列多个列总结前言 最近有一个想法,就是记录自己花销的时候,ta...
    99+
    2023-03-19
    Element table指定列合算 Element 指定列合计
  • 序列算法怎么利用Java进行合并
    这期内容当中小编将会给大家带来有关序列算法怎么利用Java进行合并,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。问题描述输入:序列A<a0,a1,a2,...aq,aq+1,aq+2,...,ar&...
    99+
    2023-05-31
    java ava
  • 使用spring怎么对mybatis进行整合
    本篇文章为大家展示了使用spring怎么对mybatis进行整合,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 数据库连接配置信息jdbc.properties#mysql version dat...
    99+
    2023-05-31
    spring mybatis
  • 使用SpringMVC怎么对Swagger进行整合
    这篇文章将为大家详细讲解有关使用SpringMVC怎么对Swagger进行整合,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。配置引入相关jar包:<dependency>&nbs...
    99+
    2023-05-31
    springmvc swagger
  • 使用Spring boot怎么对Mybatis进行整合
    这篇文章将为大家详细讲解有关使用Spring boot怎么对Mybatis进行整合,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、文件结构DataBaseConfiguration.Jav...
    99+
    2023-05-31
    springboot mybatis
  • Vue怎么使用ElementUI对表单元素进行自定义校验
    今天小编给大家分享一下Vue怎么使用ElementUI对表单元素进行自定义校验的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-05
  • 使用Spring怎么对Web项目进行整合
    今天就跟大家聊聊有关使用Spring怎么对Web项目进行整合,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一 概述1.整合目的将所有对象的创建与管理任务交给Spring容器,降低程序...
    99+
    2023-05-31
    spring web
  • 使用Spring Boot 怎么对mybatis与swagger2进行整合
    本篇文章给大家分享的是有关使用Spring Boot 怎么对mybatis与swagger2进行整合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先是pom文件的一些依赖&l...
    99+
    2023-05-31
    springboot mybatis swagger2
  • Vue怎么使用MD5对前后端进行加密
    这篇文章主要介绍了Vue怎么使用MD5对前后端进行加密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue怎么使用MD5对前后端进行加密文章都会有所收获,下面我们一起来看看吧。前端在public下面新建一个MD...
    99+
    2023-06-29
  • 使用C#怎么对XML对象进行序列化和反序列化操作
    使用C#怎么对XML对象进行序列化和反序列化操作?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。public class XMLUtil{&n...
    99+
    2023-06-06
  • css怎么使用绝对值来对元素进行定位
    这篇文章主要介绍css怎么使用绝对值来对元素进行定位,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! <html> <head> <style ty...
    99+
    2024-04-02
  • 使用python怎么对列表进行永久性排序
    这篇文章给大家介绍使用python怎么对列表进行永久性排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本...
    99+
    2023-06-14
  • Vue中怎么使用jsencrypt进行RSA非对称加密
    本篇内容介绍了“Vue中怎么使用jsencrypt进行RSA非对称加密”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!下载jsencryptc...
    99+
    2023-06-29
  • 怎么使用Key对Vue组件进行重新渲染
    这篇文章主要介绍“怎么使用Key对Vue组件进行重新渲染”,在日常操作中,相信很多人在怎么使用Key对Vue组件进行重新渲染问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么...
    99+
    2024-04-02
  • 使用Shell expr命令怎么对整数进行计算
    本篇文章给大家分享的是有关使用Shell expr命令怎么对整数进行计算,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。expr 是 evaluate expressions 的...
    99+
    2023-06-08
  • 怎么在Ajax中使用serialize()对表单进行序列化
    怎么在Ajax中使用serialize()对表单进行序列化?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是ajaxajax是一种在无需重新加载整个网页的情况...
    99+
    2023-06-08
  • 怎么在Java中使用jasperReport对动态列进行打印
    这篇文章将为大家详细讲解有关怎么在Java中使用jasperReport对动态列进行打印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。示例代码:public ActionResult pro...
    99+
    2023-05-31
    java jasperreport ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作