<InputNumber v-model.number="iptNum" @on-blur="iptBlur" @on-change="iptChange" />
此时,输入框输入多少点,都会显示。但是v-model却只是数字
而此时打印出来的值却是没有小数点的:
解决方法:
添加keyup监听,匹配value
this.$nextTick(() => {
document.getElementsByClassName('ivu-input-number')[0].getElementsByTagName('input')[0].addEventListener('keyup', (e) => {
// console.log('keyup', e.target.value)
// console.log('v-model', this.sendNum)
let patern = /\d+\.\d+/g;
if(e.target.value && e.target.value.split('.').length > 2) {
e.target.value = patern.exec(e.target.value)[0];
}
})
})
这样就可以实现最多1个小数点了