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是最外层对象。
参考链接:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战