el-input 只能输入数字和小数点后一位
时间: 2023-09-14 13:11:40 浏览: 109
可以通过监听输入事件,在输入内容不符合要求时,阻止输入或者修改输入内容,来实现只能输入数字和小数点后一位的功能。具体实现如下:
1. 在 el-input 上绑定输入事件,如下所示:
```
<el-input v-model="inputValue" @input="handleInput"></el-input>
```
2. 在 Vue 实例中定义 `handleInput` 方法,该方法会在 el-input 的输入事件触发时被调用,如下所示:
```
methods: {
handleInput (event) {
let inputValue = event.target.value
// 输入内容只能是数字和小数点
if (/[^0-9\.]/g.test(inputValue)) {
event.preventDefault()
// 如果输入内容不符合要求,则清空输入框
this.inputValue = this.inputValue.replace(/[^0-9\.]/g, '')
}
// 小数点后只能有一位
if (/\.\d{2,}/.test(inputValue)) {
event.preventDefault()
// 如果小数点后有多于一位,则截取小数点后一位
this.inputValue = this.inputValue.replace(/(\.\d{1})\d+$/, '$1')
}
}
}
```
在 `handleInput` 方法中,首先判断输入内容是否符合要求,如果不符合要求,则阻止输入,并清空输入框。然后判断小数点后是否有多于一位,如果有,则截取小数点后一位。最后,将修改后的输入值赋值给 `inputValue`,即可实现只能输入数字和小数点后一位的功能。
阅读全文