1.绑定input事件监听输入值的变化:

  <input  v-model="inputKey"  @input="change"></input>

2.修改不符合规则的值:

 change(res) {
     if(res==""){
           缓存值= res;
        }else if (/^[a-zA-Z\$_][a-zA-Z\d_]*$/.test(res) ) {
            //符合规则缓存起来
            缓存值 = res;
        } else {
            //不加Timeout this.inputKey的值能改变,但是input显示值没有改变
          setTimeout(()=>{
            //不符合规则,把上一次缓存起来的值重新赋给input双向绑定的变量
            this.inputKey=缓存值;
          },0)
          
        }
    }

不加timeout this.inputKey能改变但是双向绑定的(v-modle)input显示值并未改变,原因未知。

Logo

前往低代码交流专区

更多推荐