只能输入数字且最多只能保留两位小数
<el-input v-model="value"
placeholder="请输入内容"
onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/);this.dispatchEvent(new Event('input'))>
</el-input>
只能输入数字或字母
οnkeyup=“this.value=this.value.replace(/[\W]/g,’’);this.dispatchEvent(new Event(‘input’))”
但是这里有个坑!
vue的v-model是监听input框的input事件生效的。
而通过value直接操作dom元素,vue的v-model是监听不到的!
所以要手动分发一个input事件使v-model监听到。
this.dispatchEvent(new Event(‘input’))
当然这样会导致这句代码在每个input里面复用。也搜过其他人的封装。都感觉不是很灵活,只针对一种正则进行限制。留个坑看以后会不会封装吧。。
本文介绍如何在Vue项目中使用原生JS限制el-input组件的输入格式,包括仅允许输入数字并最多保留两位小数及仅允许输入数字或字母的方法。重点介绍了通过手动触发input事件解决Vue v-model无法监听DOM元素直接修改的问题。
1976

被折叠的 条评论
为什么被折叠?



