el-form v-if控制表单显示隐藏 验证规则失效

在Vue.js组件中,当使用v-if控制多个表单的显示和隐藏时,可能会遇到表单校验失效的问题。解决这个问题的方法是在每个表单组件上添加独特的key属性,以确保Vue.js能够正确识别和更新不同的表单状态。
摘要由CSDN通过智能技术生成

一个组件中有多个form表单 通过v-if 控制显示隐藏 会导致表单校验失效 只需要在每个表单组件加上key即可

        <div v-if="isCard">
          <h3>您的账号还没有进行身份认证,请先认证!</h3>
          <p>如果以下显示的姓名与您身份证上面的姓名不完全一致,请联系运营组做认证处理</p>
          <el-form :model="form" key="form" ref="form" :rules="rules" label-width="120px" :inline="false" size="small">
            <el-form-item label="您的姓名:">
            <span>疾风</span>
            </el-form-item>
            <el-form-item label="身份证原件正面照:">
            </el-form-item>
            <el-form-item label="身份证原件正面照图片:">
                <el-image style="width:100px" @click="deleteImg" v-if="imageInfo.url" :src="imageInfo.url" fit="fill" :lazy="true"></el-image>
            </el-form-item>
            <el-form-item label="您的身份证号:" prop="idCradNo">
              <el-input v-model="form.idCradNo" placeholder="" size="small" clearable ></el-input>
            </el-form-item>
          </el-form>
        </div>
        <div v-else>
         <h3>您的账号还没有进行手机号认证,请先认证!</h3>
         <el-form :model="mobile" ref="mobilePhone" key="mobile" :rules="mobileRules" label-width="120px" :inline="false" size="small">
            <el-form-item label="您的手机号:" prop="phone">
              <div style="display:flex">
                <el-input v-model="mobile.phone" placeholder="" size="small" clearable ></el-input>
                <el-button type="primary" size="mini" @click="getCode" :disabled="time!='获取验证码'">{{time}}</el-button>
              </div>
            </el-form-item>
            <el-form-item label="请输入验证码" prop="mobile">
              <el-input v-model="mobile.mobile" placeholder="" size="small" clearable ></el-input>
            </el-form-item>
          </el-form>
        </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值