在做限制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 },