input限制小数点的位数

 在做限制input小数点的时候,我本来想通过vue里面的的watch监听来实现, ---实现逻辑是,通过监听输入的内容,当出现"."(点)的时候,记录通过indexOf获取点的位置,然后通过

substring

截取从0位到indexOf获取的点的位置后面几位的数据 .  这样虽然实现了,但是会闪动,会先显示出多一位小数之后再显示想要的小数.

代码是这样的:

   integralNum:function(val){
       if (val) {
           if(val.indexOf(".") != -1){
           vm.integralNum = val.substring(0,val.indexOf(".") + 3)
         }
     }
  },        

  

后面通过@input解决了这个闪动, 代码是这样的:

<input id="point_num" type="number" placeholder="积分数量" @input="oninput" value="" onpaste="" />

  

oninput:function(e){
     e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
},

  

 

posted @ 2019-01-26 19:32  练洗之命  阅读(6054)  评论(0编辑  收藏  举报