问题描述:

  部分谷歌浏览器(我这里遇到vue3项目)要求只能输入数字类型,我这里输入中文后再次输入数字后不生效(页面显示数据和定义变量赋值不匹配也就是双向绑定失效);

错误代码示范:

<el-input v-model="ruleForm.code" type="text"
                      onkeyup="value = value.replace(/[^\d.]/g,'')" maxlength="6" placeholder="请输入验证码" suffix-icon=""/>

示范结果:

 

 

 修改后代码:

html部分:

<el-input v-model="ruleForm.code" type="text"
                       @keyup="changeCode('code')"  maxlength="6" placeholder="请输入验证码" suffix-icon=""/>

js部分:

    const changeCode = (type) => {
      // console.log(type)
      // onkeyup="value = value.replace(/[^\d.]/g,'')"
      ruleForm[type] = ruleForm[type].replace(/[^\d]/g,'');
    }

结果:

  修改完成验证完成;

posted on 2022-06-29 18:37  刘世涛6192  阅读(278)  评论(0编辑  收藏  举报