热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

日常开发记录Vue2.0+ElementUI实现输入框金额格式化

如何用Vue实现输入框金额格式化呢?我们都知道,以元为单位时,金额往往是需要保存到小数点后两位的,用来表示角和分,并且为了能对金额位数一目了然,往往需要三位为一个间隔,用逗号分隔金

如何用Vue实现输入框金额格式化呢?我们都知道,以元为单位时,金额往往是需要保存到小数点后两位的,用来表示角和分,并且为了能对金额位数一目了然,往往需要三位为一个间隔,用逗号分隔金额位数。基于以上需求,我们现在用Vue来实现功能。

首先我们需要知道,加了分隔符的金额就不再是数字类型了,而是字符串类型的。如果你们数据库对于金额的数据类型定义为数字的话,在存储到数据库之前是需要进行数据类型的转换的,而我们应该怎样设计才能达到,查看时是格式化的金额,而存储时是数字类型的呢?

此时我们就用到了ElementUI输入框中的两个事件,即:blur和focus,我们先来看一下ElementUI技术文档上的定义

 

 根据ElementUI的技术文档我们可以得知,当鼠标点击输入框时,会让输入框获得焦点从而触发事件,同理,当鼠标点击输入框之外的部分会让其失去焦点同样也触发事件。所以我们在设计时应该是blur事件触发时金额被格式化,focus事件触发时金额恢复原貌。


更新:

由于JS中的Number()函数最大只能处理到 2的53次方-1,即9,007,199,254,740,991。如果超过这个数,那字符串转化之后的数字精度会丢失,所以我们要限制输入框的位数为15位,保证不超出精度。

在delcommafy函数中增加了一段代码

if (num.indexOf('.00') >0) num = parseInt(num);

这段代码意思是当15位整数被格式化会在金额最后出现“ .00”,而当输入框又获得焦点时要删除掉最后的“.00”字符,这样在点击输入框后我们才能编辑这段金额。

JS里转化数字类型的函数有很多,整型parseInt() 、浮点数parseFloat还有大整数BigInt。这里额外说一下这个BigInt这个数据类型,它是任意精度和位数的整数,生成之后会在整数后方加一个n。

需要注意的是,这种数据类型是不同于字符串和普通数字类型,但它支持基本的四则运算法则,这样在处理一些金融业务或者超大的整数时我们有了一个非常可靠和实用的工具。

转载: Vue2.0+ElementUI实现输入框金额格式化 - 不酥不俗的文章 - 知乎 https://zhuanlan.zhihu.com/p/443919169

fighting



推荐阅读
  • 1.点击查看隐藏当前按钮和这个内容,显示另一个内容能。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 先看看ElementUI里关于el-table的template数据结构:<template><el-table:datatableData><e ... [详细]
  • 本文详细介绍了如何创建和使用VUE uni-app开发环境,包括通过HBuilderX可视化界面和通过vue-cli命令执行的方法。文章内容简单清晰,易于学习与理解。通过学习本文,读者可以深入了解VUE uni-app开发环境,并通过实践验证掌握具体的使用情况。编程笔记将为读者推送更多相关知识点的文章,欢迎关注! ... [详细]
  • 本文讨论了在Vue组件中,为什么data属性要返回一个函数的问题。通过示例代码,说明了对象变量和对象函数在数据更改前后的影响。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 随着前端技术的发展,越来越多的开发者开始使用react、vue等web框架,但很少有人深入理解这些框架的源码。然而,这些框架底层都是由原生的javascript构建而成。对于初学前端的人来说,可能会认为javascript很容易上手,但实际上只是因为它被高度封装了。与能够使用封装类的人相比,能够理解框架原理的人则处于另一个层面。本文将深入剖析jquery源码,探寻框架底层的原理,帮助读者更好地理解web框架的运行机制。 ... [详细]
  • 最近开发了一套ERP管理系统,想为整个系统添加新手操作教程,方便不熟悉的同事学会如何操作整个系统。就类似APP中的新手操作教程,同游戏中的一级进入游戏后的游戏指引,如何在网页中实现呢?整个系统是 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • Vue3中setup函数的参数props和context配置详解
    本文详细介绍了Vue3中setup函数的参数props和context的配置方法,包括props的接收和配置声明,以及未通过props进行接收配置时的输出值。同时还介绍了父组件传递给子组件的值和模板的相关内容。阅读本文后,读者将对Vue3中setup函数的参数props和context的配置有更深入的理解。 ... [详细]
  • 在package.json中有如下两个对象:husky:{hooks:{pre-commit:lint-staged}},lint-staged:{src** ... [详细]
author-avatar
123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有