elementUI表单校验:不同模块下的表单校验发生错乱

285 阅读1分钟

1、问题描述

动图.gif

  • 线下购买/线上购买显示礼品名称,内部商城显示订单号
  • 当触发礼品名称的校验,再切换到内部商城时,会在订单号的输入框下显示请输入礼品名称
  • 当触发订单号的校验,再切换到线下购买时,会在礼品名称的输入框下显示请输入订单号

2、解决

给el-form-itm加上key,每次切换时重新渲染该组件,就可以将校验提示清除

        <!-- 线下购买/线上购买 -->
        <template v-if="formData.purchasemethod!==3">
          <el-form-item label="礼品名称" prop="realgift" key="realgift">
            <el-input v-model="formData.realgift" placeholder="请输入礼品名称" />
          </el-form-item>
          <el-form-item label="申请金额" prop="applymoney" key="applymoney">
            <el-input v-model="formData.applymoney" placeholder="请输入申请金额" />
          </el-form-item>
        </template>
        <!-- 内部商城 -->
        <template v-if='formData.purchasemethod===3'>
          <el-form-item label="订单号" prop="ordernumber" key="ordernumber">
            <el-input v-model="formData.ordernumber" placeholder="请输入订单号" @blur="handleOrderBlur" />
          </el-form-item>
          <el-form-item label="商品信息">
            <el-table :data="goodList">
              <el-table-column prop="goodsname" label="商品名称" />
              <el-table-column prop="quantity" label="数量" />
              <el-table-column prop="price" label="金额(元)" />
            </el-table>
          </el-form-item>
          <el-form-item label="申请金额">{{orderTotalPrice}}元</el-form-item>
        </template>

动图.gif