[elementUI]v-for动态数据循环表单验证的处理方式

Posted home-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[elementUI]v-for动态数据循环表单验证的处理方式相关的知识,希望对你有一定的参考价值。

 

 

最近被《哪吒之魔童降世》的主题曲洗脑了,哈哈哈里面有一句歌词是这样的

风跟着我飞有两道火光,天上海里的神仙能耐我何妨

从不拘泥任何世俗凡人的目光,我要奔向前方那光芒

 

技术图片

 

表单验证的时候:

prop改为:prop,形式为‘formInlineList.‘+index+‘.formInline

formInlineList.‘+index+‘.formInline就是数据结构与数据

每一个循环中的<el-form-item>都需要加:rules

去rules时要取吧rules加上取全

结构( 与平常一样该绑定绑定,改ref ref,就是for循环以后需要注意,还有数据结构的写法 )

<el-form :model="formInline" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
     <div v-for="(item, index) in formInline.formInlineList" :key="index">
<!-- formInlineList就是数据结构、要与表单formInLine放在一起,就是放在它里面 --> <el-form-item :label="item.label" :prop="‘formInlineList.‘ + index + ‘.formInlineVal‘" :rules="item.rules.formInlineVal" > <el-input v-model="item.formInlineVal" :placeholder="item.placeHolder"></el-input> </el-form-item> </div> </el-form>

数据结构

rules就算不用也要写上绑定不触发,要是删除掉了就报错

提交表单正常提交就可以

formInline: {
        formInlineList: [
          {
            index: 1,
            formInlineVal: "",
            label: "优惠券名称:",
            placeHolder: "请输入优惠券名称",
            rules: {
              formInlineVal: [
                { required: true, message: "请输入优惠券名称", trigger: "blur" }
              ]
            }
          },
          {
            index: 2,
            formInlineVal: "",
            label: "消费限制:",
            placeHolder: "消费满XX元可用,不填表示不限",
            rules: {
              formInlineVal: [{ required: false }]
            }
          }
}

 写到这会报rules的错,不过没关系,在外面重新定义一个rules然后绑上

上方循环的地方已经用div隔开了写在div下面绑上prop正常操作就可以了

以上是关于[elementUI]v-for动态数据循环表单验证的处理方式的主要内容,如果未能解决你的问题,请参考以下文章

elementUI 的 navmenu 怎么在 v-for 中 循环不同的标签?

element处理动态数据循环的表单验证

Vue - ElementUI中循环渲染表格,控制字段的显示与隐藏 v-if与v-for同时使用

elementUi-复选框,使用v-for循环出来的复选框,默认多个值为勾选状态

elementui动态表单删除其中一项后数据错乱

v-for动态添加表单,并且获取表单中的值