专栏首页前端小叙vue elementUI 表单校验(数组多层嵌套)

vue elementUI 表单校验(数组多层嵌套)

在使用vue element-ui form表单渲染的时候,会遇到这样的数据结构:

{
"title":''123455,
"email":'123456@qq.com',
"list": [
            {
                "id": "quis consequat culpa ut pariatur",
                "name": "et quis irure dolore ullamco",
                "ompany": "sunt mollit",
                "address": "anim reprehenderit aliquip labore velit"
            },
            {
                "id": "",
                "name": "laborum magna",
                "company": "mollit esse ipsum quis",
                "address": "cillum dolore ex ut"
            },
        ]
}

在遇到某个字段值比如list是个数组,下面多个字段值还需要继续使用rules校验时候,直接给list下面的字段绑定prop="对应的字段值",是不能校验成功的,解决办法有二:

1、在是数组的地方再套一个<el-form :model="当前子对象" v-for="遍历list这个数组"></el-form>

    给list数组下的字段直接还是绑定prop名称为原本的名称就可以;

示例代码如下:

<el-form :model="item" v-for="(item,index) in dataFields.list :key="index">
   <el-form-item label="name" prop="name" :rules="{ required: true, message: 'Required', trigger: 'blur' }">
      <el-input placeholder="name" v-model="item.name"></el-input>
   </el-form-item>
</el-form>

2、直接给list数组下对象的字段名称绑定为   数组下的名称

示例代码如下:

<div v-for="(item,index) in dataFields.list :key="index">
    <el-form-item label="name" :prop="`list[${index}].name`" :rules="{ required: true, message: 'Required', trigger: 'blur' }">
       <el-input placeholder="name" v-model="item.name"></el-input>
   </el-form-item>
</div>

这里list即为上面对象中的数组,datafields是最外层对象。

参考链接:

https://segmentfault.com/a/1190000014366951

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • jquery方法.serializeArray()获取name和value并转为json数组

    蓓蕾心晴
  • mint-ui的search组件如何在键盘显示搜索按钮

    <form action="" target="frameFile"> <mt-search v-model="value" placeholder="请...

    蓓蕾心晴
  • wordpress主题升级之后返回到原来版本主题的方法

    wordpress后台经常可以看到主题提示升级,但是发现升级之后样式,颜色等都变了,不是以前的样子了,这时候如果想要返回到以前版本,前提,必须以前版本有备份。

    蓓蕾心晴
  • Tree - 95. Unique Binary Search Trees II

    Given an integer n, generate all structurally unique BST's (binary search trees)...

    用户5705150
  • 27. Vue 使用 vue-resource 发起get请求,获取列表数据

    上一节讲诉了Vue 使用 vue-resource 发起get、post、jsonp请求,那么本章节则使用发起get请求后,获取数据渲染到列表中。

    Devops海洋的渔夫
  • 【2019年8月版本】OCP 071认证考试最新版本的考试原题-第1题

    Exanine the desciption of the EMPLOYEES table:

    用户5892232
  • 写代码全靠复制粘贴的程序员,可能要失业了

    王新民 | 编译自TechCrunch 量子位·QbitAI 出品 在码农界,有一个古老的传说,那些伟大的程序员们,大部分代码都是从StackOverflow问...

    量子位
  • 利用Django通用类视图(class

    最近在学习Django,官方文档介绍地十分详细。但是“大而全”就难免会有些不够速成,和我们这个浮躁的互联网时代格格不入,所以我就整理了这个文档。就像coolsh...

    py3study
  • 智能硬件sdk测试初探

    近期公司推出了某款智能录音笔,需要对录音笔笔端一些应用的sdk进行测试。因为之前对关于sdk测试的了解并不是很多,所以在本次测试中边测试、边了解、边学习,总结...

    用户5521279
  • golang报错: all goroutines are asleep - deadlock!

    在测试go channel时出现如下错误提示:fatal error: all goroutines are asleep - deadlock!

    _simple

扫码关注云+社区

领取腾讯云代金券