antd_vue中a-input-number(利用formatter、parser)关于金额(小数点后两位)、货币格式的组件封装

主要利用formatter、和parser;两个属性对输入的数据进行切割和转换。该组件可以自定义小数点前后的位数和转成货币格式。

基于Vue2和Ant-Design-Vue封装的后台系统,其中包括很多常用组件和方法Smile Admin
formatter:指定输入框展示值的格式
parser:指定从 formatter 里转换回数字的方式
precision:限制小数位数(在这个组件中是为了自动补零,始终保持小数点后两位。但是要和data中decimalPlaces这个属性保持一致)

##HTML
inputNumberF、inputNumberP、onChange在下面

 <a-input-number
      v-model="newMoney"
      :formatter="inputNumberF"
      :parser="inputNumberP"
      :precision="2"
      @change="onChange"
    />

## data中可以自定义小数点前位数,和小数点后几位,符号可以为空。

  data() {
   
			return {
   
        // 旧值
		oldMoney: null,
        // 新的值
		newMoney: null,
        // 整数位
        integralDigits: 6,
        // 小数位
        decimalPlaces: 2,
        // 符号 ¥
        symbol: '¥'
        
			}
		},

## 后期同学可以放到一些公共文件夹中(我一般都是新建一个utils文件夹),然后引入也是一样可以的。

methods: {
   
      inputNumberF(value){
   
        let res = this.regHandel(value)
        let val = value.replace(res.reg, res.gs)
        if(this.symbol != ''){
   
          return `${
     this.symbol} ${
     val}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
        }else{
   
          return val.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
        }
      },
      inputNumberP(value){
   
        let res = this.regHandel(value)
        let reg2 = null
        if(this.symbol != ''){
   
          reg2 = new RegExp(
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值