Uniapp的数字输入框分设置为number,只可以输入正整数,设置为digit,可以输入小数点,但是记得一定要真机测试效果,电脑上可以输入多个小数点。
设置为number和digit的时候,只弹出数字键盘和小数点,保证了只让输入符合条件的数据。
如果是要求只能输入2位小数,可以加入input的动态限制。
下面的代码是限制输入框只能输入最多2位小数的数字。
如果是pc端,没办法像手机端那样控制软键盘的显示,那就用下面这段代码来控制也非常有效。
// 检查输入是否全部为数字,通过id来区别到底是赋值给哪个输入框
check(e) {
e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
// //重新赋值给input
this.$nextTick(() => {
if(e.target.id==='amount'){
this.amount = e.target.value;
}
if(e.target.id==='rate'){
this.rate = e.target.value;
}
})
},