前记
输入框需要返回数字而实际返回的是字符串。
type=‘number’(×)
- 由于浏览器的限制,HTML5中的input type为number的表单控件只能输入数字,并且会使用浏览器内部的算法进行格式化。但是,无论如何,它的值始终是一个字符串。
- 因此,在Bootstrap Vue中使用input type为number的表单控件时,无论用户输入什么,它都将返回一个字符串。如果您需要将其转换为数字,则可以使用parseInt或parseFloat函数将其转换为数字类型。
- 因此使用以下组件时,只可以输入数字,但返回的还是字符串。
<b-form-input
type="number"
v-model="age"
></b-form-input>
解决方法
在watch里监听该值,并修改为数值。
watch: {
'age': {
handler(newValue, oldValue) {
this.age = parseInt(newValue)
},
},
}