el-input-number限制位数
时间: 2023-07-06 10:08:08 浏览: 84
可以通过设置 `min` 和 `max` 属性来限制 `el-input-number` 的取值范围。如果要限制位数,可以使用 `formatter` 和 `parser` 属性结合正则表达式来实现。
例如,如果要限制 `el-input-number` 的输入为最多两位小数,可以这样写:
```html
<el-input-number v-model="num" :min="0" :max="100" :formatter="formatNum" :parser="parseNum"></el-input-number>
```
```javascript
export default {
data() {
return {
num: 0
}
},
methods: {
formatNum(value) {
const reg = /^(\d+(\.\d{0,2})?)$/;
return reg.test(value) ? value : '';
},
parseNum(value) {
const reg = /^(\d+(\.\d{0,2})?)$/;
const match = value.match(reg);
return match ? match[1] : 0;
}
}
}
```
在上面的代码中,`formatter` 和 `parser` 属性分别指定了格式化函数和解析函数。`formatter` 函数会在显示数值时调用,它的返回值会作为 `el-input-number` 的显示值。在这个例子中,我们使用了一个正则表达式来限制小数位数不超过两位,如果输入的值不符合要求,就返回空字符串,这样 `el-input-number` 就不会显示错误的值了。
`parser` 函数会在用户输入时调用,它的返回值会作为 `el-input-number` 的实际值。在这个例子中,我们也使用了一个正则表达式来限制小数位数不超过两位,如果用户输入的值不符合要求,就返回 0,这样 `el-input-number` 就不会接受错误的输入了。
阅读全文