解决el-form一进页面就会触发表单校验问题

下面例子是解决 el-select multiple 下拉多选控件 在这里插入图片描述

预期效果是:打开页面,外出地点和其他属性一样,不会自动触发表单非空校验,而是在操作当前属性时触发。
解决思路:设置初始值为空数组即可

data() {
    return {
      form: {
        goOutArriveCityId: []
      },
    }

若不是多选,是输入框或者其他就初始化对应的值即可。思路大概是这样~

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你希望在某个 el-form-item 中的表单控件失去焦点时触发校验,可以在 el-form-item 中的表单控件上使用 v-model 绑定表单数据,并设置触发校验的事件为 blur。示例代码如下: ```vue <template> <el-form :model="formData" :rules="formRules" ref="form"> <el-form-item label="用户名" prop="username"> <el-input v-model="formData.username" @blur="$refs.form.validateField('username')" placeholder="请输入用户名"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input v-model="formData.password" @blur="$refs.form.validateField('password')" type="password" placeholder="请输入密码"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> <script> export default { data() { return { formData: { username: '', password: '' }, formRules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' } ] } } }, methods: { submitForm() { this.$refs.form.validate(valid => { if (valid) { // 表单校验通过,可以提交数据 // ... } else { // 表单校验不通过,不提交数据 return false } }) } } } </script> ``` 在上面的代码中,我们给 el-input 绑定了 v-model 来绑定表单数据,并在 @blur 事件中调用了 validateField 方法来触发对应表单项的校验。validateField 方法接收一个字段名作为参数,表示需要校验表单项。如果需要在多个控件失去焦点时触发校验,可以在多个表单控件上都绑定对应的事件即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值