修改input的值 如何做到不闪烁

获取input的value 要求用户输入不符合规格的时候不予显示;
例如只能数输入小数点后两位 常用的想法是 输入到第三位的时候删掉后面那位,比如我现在用的vue 通过v-model获取到input值 然后@input过滤一下 在赋值给v-model的绑定值,但是这个过滤的过程 会有一个删除的闪烁过程,就是先渲染到屏幕上在消失,请问各位有什么好方法处理吗 不限于vue 谢谢了

梦里花落0921
浏览 446回答 1
1回答

慕尼黑5688855

用keyup/input事件原生是这样的:let inp = document.querySelector("input");inp.onkeyup = inp.oninput = function(ev) { if (inp.value.length >= 3) {inp.value&nbsp;=&nbsp;inp.value.substr(0,&nbsp;3);&nbsp;}&nbsp;};vue 的话,不用v-model 绑定,改为:<template><input&nbsp;:value&nbsp;="inptxt"&nbsp;@input="input"></template>&nbsp;<script>&nbsp;exports default {data(){&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inptxt:"" &nbsp;&nbsp;&nbsp;&nbsp;} }, methods:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;input(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(this.inptxt.length&nbsp;>&nbsp;3)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.inptxt&nbsp;=&nbsp;this.inptxt.substr(0,3); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} }}&nbsp;</script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js