zoukankan      html  css  js  c++  java
  • 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、在是数组的地方再套一个

    给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是最外层对象。

  • 相关阅读:
    解决多个window.onload冲突问题
    asp.net中img底部出现空白解決辦法
    学习WF起步
    ASP.NET后台注册javascript脚本方法
    WCF、Net remoting、Web service概念及区别
    WCF问答 WCF 与Web Service的区别
    C++深度探索系列:智能指针(Smart Pointer) [一] (转)
    ofstream和ifstream(详细2)转
    全面掌握const、volatile和mutable关键字(转)
    #define用法 收藏
  • 原文地址:https://www.cnblogs.com/wangRong-smile/p/12868621.html
Copyright © 2011-2022 走看看