Vue element-ui 表单中下拉框遇到的BUG

先看下代码,下拉框中的值是动态属性,

<el-form :model="addCaseForm" :rules="addCaseRules" ref="addCasesRef" label-width="100px">
          <el-form-item label="所在项目" prop="selected_value">
              <el-select v-model="selected_value" placeholder="请选择项目">
                  <el-option
                      v-for="item in projectsList"
                      :key="item.id"
                      :label="item.project_name"
                      :value="item.id">
                  </el-option>
              </el-select>
          </el-form-item>
</el-form>

验证规则的代码,看着逻辑好像没有问题,但是当我选择时,出现错误,下拉框明明已经选择了值,但是仍然验证失败

addCaseRules: {
            selected_value: [{ required: true, message: '请选择项目', trigger: 'change' }]
        },

网上查了一下原因,这位老哥的话提醒了我,博客链接为:https://blog.csdn.net/weixin_38645718/article/details/105722670

他说:rules 如果想校验成功,则 prop="appCategory" 和 v-model="appTemplateForm.appCategory" 以及 rules 中的名字必须一致,都为 appCategory

但是我查看了一下我的代码是符合这个要求的啊,后来发现我的selected_value没有放在表单addCaseForm中,导致出现问题经过修改后,代码如下:

<el-form :model="addCaseForm" :rules="addCaseRules" ref="addCasesRef" label-width="100px">
          <el-form-item label="所在项目" prop="selected_value">
              <el-select v-model="addCaseForm.selected_value" placeholder="请选择项目">
                  <el-option
                      v-for="item in projectsList"
                      :key="item.id"
                      :label="item.project_name"
                      :value="item.id">
                  </el-option>
              </el-select>
          </el-form-item>
</el-form>
addCaseForm: {
// 被选中的值
  selected_value: ''
},
addCaseRules: {
  selected_value: [{ required: true, message: '请选择项目', trigger: 'change' }]
},

问题成功解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值