html中绑定事件,type=number 可以避免其他字符的输入,但是规避不了小数点输入

 <input
   type="number"
   placeholder="输入想要出售金额"
   v-model="pricing"
   @input="preventPoint('pricing', $event)"
>

vue中的方法,自己加一个方法,把value值给整数化,但是需要注意的是,需要加上 evt.target.value = '';不然就会很奇怪
至于为啥,我也不是很清楚,可能是vue内部做的处理;
你们可以试试把 evt.target.value = '';去掉看会不会有问题,或者有更好的写法

data() {
	return {
		pricing: ''
	}
},
methods: {
    preventPoint(type, evt) {
        let newVal = parseInt(evt.target.value);
        evt.target.value = '';  // 这句话看起来多此一举,但不写的话就是会出问题,但是为啥会出问题呢,我不知道!!!
        evt.target.value = newVal;
        this[type] = newVal;
    }
}
Logo

前往低代码交流专区

更多推荐