之前在开发过程中遇到这么一个问题,一串数据需要在el-table中展示,其中含有金额字段,需要将其转换成标准数据格式,即三位一个逗号间隔。

今年刚毕业就上手项目了,第一次接触的Vue,开发经验少,也忘记了有过滤器这个玩意儿,傻傻的写下了这种为自己震撼的数据处理,这仅仅是一个微不足道的小界面,这样的数据处理有上千行的,做完还挺佩服自己,哈哈哈!!

for (let argument of this.selectConfirmList) {
argument.balanTotal = (parseFloat(argument.balanTotal).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
argument.interTotal = (parseFloat(argument.interTotal).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
argument.otherAmo = (parseFloat(argument.otherAmo).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
argument.value = (parseFloat(argument.value).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
}

但是神奇的事情发生了,当我需要对这些数据进行数据处理的时候才发现,问题很大,这些数据中包含了“,”;毕竟咱是第一次开发,很多方面都考虑不到。于是我有了就问题解决问题的想法,在for循环前面先把数据处理好,在最后再写一个数据格式的处理。

就这么做了一个数据量巨大的页面,脑瓜子嗡嗡的,于是翻了翻书,对呀,不是还有计算属性computed这个神器嘛,说干就干,乖乖,数据是不影响了,可是代码。。。您看

computed: {
prinBalance1() {
let value = parseFloat(this.form.prinBalance)
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
},
interBalance1() {
let value = parseFloat(this.form.interBalance)
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
},
total1() {
let value = parseFloat(this.form.total)
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
},
disburse1() {
let value = parseFloat(this.form.disburse)
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
},
cashBag1() {
let value = parseFloat(this.form.cashBag)
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
}, },

就这?就这?

到了这个时候想起了老师上课讲的东西,幸亏没有还给老师,过滤器,对呀我怎么没有想到过滤器,见证奇迹的时候到了

页面代码:

<el-table
ref="dataTable"
:data="allClaimsList"
tooltip-effect="dark"
style="width: 100%">
。。。。
<el-table-column label="本金余额(元)" align="center">
<template slot-scope="scope">{{ scope.row.balanTotal|dealValue }}</template>
</el-table-column>
<el-table-column label="利息余额(元)" align="center">
<template slot-scope="scope">{{ scope.row.interTotal|dealValue}}</template>
</el-table-column>
<el-table-column label="代垫费用(元)" align="center">
<template slot-scope="scope">{{ scope.row.otherAmo |dealValue}}</template>
</el-table-column>
。。。。。
</el-table>

过滤器:

filters:{
dealValue(value){
value = (value.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,')
return value;
}
},

简直完美!在需要的地方加一个 | rounding大功告成!!

说笑了,其实写这个的目的就是想告诉自己,实战经验是多么的重要,看一百遍书不如敲个项目学的东西多。

element中过滤器filters的使用(开发小记)的更多相关文章

  1. vue中过滤器filters的使用

    组件内写法 filters:{ filter:function(data,arg1,arg2){ return .... } } 全局写法 filters('filter',function(data ...

  2. Vue学习之--------Vue中过滤器(filters)的使用(代码实现)(2022/7/18)

    1.过滤器 1.1 概念 过滤器: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理). 语法: 1.注册过滤器:Vue.filter(name,callback) 或 new V ...

  3. WordPress过滤器(Filters):apply_filters和add_filter

    过滤器(Filters)对于WordPress来说是非常重要的,它极大地扩展了WordPress的定制能力,提高了WordPress的灵活性.无论是制作主题还是开发插件,我们基本上都会或多或少地使用到 ...

  4. 带你掌握Vue过滤器filters及时间戳转换

    摘要:Vue的filters过滤器是比较常见的一个知识点,下面我将结合时间戳转换的例子带你快速了解filters的用法. 本文分享自华为云社区<三分钟掌握Vue过滤器filters及时间戳转换& ...

  5. NodeJS+Express+MySQL开发小记(2):服务器部署

    http://borninsummer.com/2015/06/17/notes-on-developing-nodejs-webapp/ NodeJS+Express+MySQL开发小记(1)里讲过 ...

  6. vue 过滤器filters的使用以及常见报错小坑(Failed to resolve filter)

    今天使用vue 过滤器中发现一个小坑,网上查到的大都是不正确的解决方法,故分享给大家: 原错误代码: // 过滤器 filter:{ FdishList:function(value){ if (!v ...

  7. Asp.Net Core 进阶(四)—— 过滤器 Filters

    一.介绍 Asp.Net Core Filter 使得可以在请求处理管道的特定阶段的前后执行代码,我们可以创建自定义的 filter 用于处理横切关注点. 横切关注点的示例包括错误处理.缓存.配置.授 ...

  8. C# web api 中过滤器的使用

    一.开篇 Fiter在Web API中经常会用到,主要用于记录日志,安全验证,全局错误处理等:Web API提供两种过滤器的基本类型:actionfilterattribute,exceptionfi ...

  9. 带农历日历的DatePicker控件!Xamarin控件开发小记

    原文:带农历日历的DatePicker控件!Xamarin控件开发小记 闲来无事开发了个日期选择控件,感兴趣的同学前往: https://github.com/MatoApps/Mato.DatePi ...

随机推荐

  1. 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案

    原文地址: Critical CSS and Webpack: Automatically Minimize Render-Blocking CSS 原文作者: Anthony Gore 译者: 蜗牛 ...

  2. An Introduction to Differential Privacy

    原文链接:An Introduction to Differential Privacy 差分隐私算法可以允许分析人员执行良性的聚合分析,同时保证个人隐私得到切实的保护.. 背景数据分析中的隐私保护技 ...

  3. jmeter连数据库

    前提:jmeter不能直接连数据库,需要导入一个jar包 步骤: 1.右键线程组--添加--配置元件--JDBC Connection Configuration 2.jdbc的基本配置:可以修改jd ...

  4. 恭喜!Apache Hudi社区新晋多位Committer

    1. 介绍 经过Apache Hudi项目委员会讨论及投票,向Udit Mehrotra.Gary Li.Raymond Xu.Pratyaksh Sharma 4人发出Committer邀请,4人均 ...

  5. 预科班D6

    2020.09.14星期一 预科班D6 学习内容: 自习 发布小游戏 1.配置网络 #查看当前ip ifconfig #关闭NetworkManager systemctl stop NetworkM ...

  6. 网络爬虫:利用selenium,pyquery库抓取并处理京东上的图片并存储到使用mongdb数据库进行存储

    一,环境的搭建已经简单的工具介绍 1.selenium,一个用于Web应用程序测试的工具.其特点是直接运行在浏览器中,就像真正的用户在操作一样.新版本selenium2集成了 Selenium 1.0 ...

  7. ES6 常用总结——第二章(字符串的扩展)

    ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历. for (let codePoint of 'foo') { console.log(codePoint)} // &quo ...

  8. Oracle学习(十二)标量函数

    UCASE()大写转换  LCASE()小写转换 --把查询结果对应的列进行大写转换 SELECT UCASE(列) FROM 表; --把查询结果对应的列进行小写转换 SELECT LCASE(列) ...

  9. 手把手教你在 TKE 集群中实现简单的蓝绿发布和灰度发布

    概述 如何在腾讯云 Kubernetes 集群实现蓝绿发布和灰度发布?通常要向集群额外部署其它开源工具来实现,比如 Nginx Ingress,Traefik 等,或者让业务上 Service Mes ...

  10. TIDB 笔记

    整体架构: