vue:动态添加删除el-form-item并做rules校验

前端开发肯定会遇到这样一种场景: 要动态的增加或者减少form-item 并且需要对form-item做一些校验,比如必填校验 这个时候不能像我们之前开发那样把校验规则写在rules里面和el-form进行绑定,因为这些el-form-item是你动态渲染出来的

image.png

解决方案:

把rules直接写在el-form-item标签里面 同时要注意prop的写法 写你遍历的那个数组名+下标+校验的字段
此处如果发现不生效 检查下你的prop里面的数组是不是写错了 不能写ruleForm.billingBindMeals 而应该直接写billingBindMeals

 <div class="set" v-for="(item, index) in ruleForm.billingBindMeals" :key="index">
              //删除按钮
              <svg-icon icon-class="delete" class="close" @click="deleteMeal(index)" />
              <el-form-item
                :prop="'billingBindMeals.' + index + '.mealName'"
                label="绑定商品"
                label-width="80px"
                :rules="{ required: true, message: '请选择商品进行绑定', trigger: ['blur', 'change'] }"
              >
                <el-select v-model="item.mealName">
                  <el-option
                    v-for="item in packageList"
                    :key="item.value"
                    :label="item.label"
                    :value="item.label"
                  ></el-option>
                </el-select>
              </el-form-item>
            </div>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容