只能输入数字且最多两位小数:

<el-form-item label="价格" prop="price">
     <el-input v-model="materialTSCLForm.price" onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/);this.dispatchEvent(new Event('input'))"></el-input>
</el-form-item>

在标签里用原生事件onkeyup写一句代码就行。

如:只能输入数字或字母

ο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’))

Logo

前往低代码交流专区

更多推荐