v-model修饰符

有一些情况,我们不希望用户输入空格这种无意义的字符,或者其他不合法的字符可以通过下面的方法解决。

禁止输入空格v-model.trim

<el-input v-model="test"></el-input>

<!--添加修饰符-->

<el-input v-model.trim="test"></el-input>

这样空格就无法输入了。

或者(偶尔会有问题):

<el-input oninput="value=value.replace(/\s/g,'')" v-model="studentModel.name" />

按照这个使用正则替换的思路,还可以实现其他效果,如下:

只能输入数字v-model.number

<el-input v-model.number="studentModel.age" />

<!-- 或者 -->
<el-input oninput="value=value.replace(/\D/g,'')" v-model="studentModel.name" />

如果你用的是element-ui组件,更复杂的校验可以放到el-form的validator中,如下:

formRules: {
    name: [
        {required: true, message: '请输入学员姓名'},
        { validator:(rule,val,cb) => {
            val = val.replace(new RegExp(EmojiRanges.join('|'), 'g'), '');
            val = val.trim();
            if (val.includes('+') || val.includes('/') || val.includes('\\')) {
                return cb(new Error('名称中不可包含+/\\特殊字符'))
            }
            this.studentModel.name = val;
            return cb();
            }, trigger: 'change' }
    ]
}

v-model 其他修饰符

除了像 .trim 这样的 2.x 硬编码的 v-model 修饰符外,现在 3.x 还支持自定义修饰符:

<ChildComponent v-model.capitalize="pageTitle" />

把输入内容转换为大写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值