记录一个问题
业务场景: input输入框要求仅输入数字,可是唤起手机键盘时,输入法先输入字母(这个时候输入的内容在输入法上预览)再输入数字时,input输入框内数字就会变多,且maxlength属性会失效
解决方式:
// html
<input
v-model="mileage"
maxlength="10"
type="number"
pattern="\d*"
@input="handleMileageInput"
placeholder="Please Input">
// methods
handleMileageInput(e) {
const value = e.target.value.slice(0, 10)
this.mileage = value.replace(/[^\d]/g, '')
}
此时input输入时,会唤起九宫格数字键盘。