vue中input按照一定的规则输入,不符合规则输入不进

本文介绍在Vue框架中如何使用input事件监听输入变化,并通过正则表达式检查输入是否符合特定规则。当输入不符合规则时,文章提供了一个解决方案,即使用setTimeout延迟函数将输入值恢复为上一个有效值,确保了数据的有效性和用户界面的一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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显示值并未改变,原因未知。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值