<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個小數點了