element中 阻止输入非数字

问题如题 在使用例如 el-input 组件时阻止输入非数字(数字允许为小数)

我个人尝试了使用的

1.  v-model.number

2. 使用 :value 绑定值 @input 做验证并更新值

3. 使用 v-model 绑定 行内时间 oninput (输入后进行再次修改)

缺陷:

方法1 : 当输入框为空时可以输入字母

方法2 : 过繁琐 当多个属性需要验证时每个都要绑定一次 @input

方法3 : 虽然可以到达效果 但是在中文输入法下选择汉字会把所有之前输入的数字全清楚掉 不过大体没问题

问题: element中 阻止输入非数字,关于这个大家有什么好的做法? 另外 方法3 中的 oninput 是继承到内部标签中代替了vue默认的对input事件处理吗? 在标签内可以使用 @input.native替换 oninput 吗?

回答

没什么特别好的办法。

不过你第二种方法其实可以抽一个指令出来,就没那么繁琐了。

如果不是非得用 Input 组件的话,其实可以用 InputNumber 组件的。

另外还可以不在输入时校验,而是放到 Form 里利用表单验证规则来限制。

以上是 element中 阻止输入非数字 的全部内容, 来源链接: utcz.com/a/29691.html

回到顶部