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 },