需求:点击新增按钮 能不断生成下级部门,所以我再data中定义了一个变量 空数组

subordinateDepartmentNum:[] 默认值设置为[]

给增加按钮添加点击事件 每点击一次按钮  subordinateDepartmentNum加1

// 新增下级部门
addDepartment() {this.subordinateDepartmentNum.push(this.subordinateDepartmentNum.length);
//确保每次新增的下级部门的文本框的内容都是空的--
this.childrenData.deptName[this.subordinateDepartmentNum.length-1] = undefined;
},

通过v-for循环生成表单  这样就可以生成多个下级部门的表单元素

  <div class="add_department_box" v-for="(item,index) in subordinateDepartmentNum" :key="index"></div>

那么问题来了 如何绑定 给循环出来的表单绑定值以及添加验证规则呢?

绑定值的方法:

在data中定义一个值childrenData:{ deptName:[] } 通过以下方式绑定值:

 <el-form-item label="名称" class="child_dept_name">
<el-input v-model="childrenData.deptName[index]"></el-input>
</el-form-item>

绑定后 在输入框中输入值,打印childrenData的值 得到一个数组,数组中的值是表单元素中输入的值

添加校验规则的方法: 在表单中添加:prop 和 :rules 我是循环的数字 n是从1开始的

<el-form ref="childForm" :model="childrenData" :rules="childrenRules" class="add_department_form"label-width="80"><div class="add_department_box" v-for="(item,index) in subordinateDepartmentNum" :key="index"><el-form-item label="名称" :prop="'deptName.'+index" :rules="childrenRules.deptName" class="child_dept_name"><el-input v-model="childrenData.deptName[index]"></el-input></el-form-item></div>
</el-form>
//新增的下级架构校验规则
childrenRules: {deptName: [{required: true, message: "名称不能为空", trigger: "blur"}]
},

完整的代码

 <el-form ref="childForm" :model="childrenData" :rules="childrenRules" class="add_department_form"label-width="80"><div class="add_department_box" v-for="(item,index) in subordinateDepartmentNum" :key="index"><el-form-item label="" prop="" class="child_num"><div class="num_text">{{ index + 1 }}</div></el-form-item><el-form-item label="名称" :prop="'deptName.'+index" :rules="childrenRules.deptName" class="child_dept_name"><el-input v-model="childrenData.deptName[index]"></el-input></el-form-item><el-form-item label="" prop="" class="child_type"><el-radio-group v-model="childrenData.type"><el-radio :label="1">公司</el-radio><el-radio :label="2">部门</el-radio></el-radio-group></el-form-item><div class="close" @click="closeDepartmentBox(index)"><span class="iconfont icon-31guanbi"></span></div></div></el-form>data() {return {//新增的下级架构数据//新增的下级架构数据childrenData: {deptName: [],type: 2},//新增的下级架构校验规则childrenRules: {deptName: [{required: true, message: "名称不能为空", trigger: "blur"}]},// 新增的下级部门的数量subordinateDepartmentNum: [],}},

v-for 循环生成多个表单元素 给动态生成的表单元素绑定值并且添加校验规则相关推荐

  1. 通过表单设计器动态生成数据库表以及动态查询的功能实现

    表单设计器动态生成数据库表以及动态查询的功能实现 前言 1. 功能实现 1.1 效果说明 1.2 功能流程图 1.3 具体后端实现 1.4 实现效果 2. 尾声 前言 前两天安排了作为Java小码农的 ...

  2. python3动态生成变量_【转载】 Python动态生成变量

    用Python循环创建多个变量, 如创建 a1=   .a2=   .a3=   .a4=   .a5=    或  self.a1=    .self.a2=   . self.a3= 一. 可以通 ...

  3. 没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!

    FormBuilder 是一个开源的PHP表单生成器,可以快速生成现代化的form表单.还可以配合开源项目 xaboy/form-create 生成任何 Vue 组件 github | 文档 环境需求 ...

  4. jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验

    一.下载插件包. 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.jQuery表单验证插件----添加class属性形式的校验 <!DOCTY ...

  5. html表单通过js提交表单提交,JavaScript动态创建form表单并提交的实现方法

    本文实例讲述了JavaScript动态创建form表单并提交的实现方法.分享给大家供大家参考,具体如下: 页面布局有些复杂的情况下,可能需要在页面中动态创建一个 form,JavaScript 创建 ...

  6. java在linux生成pdf文件,从 Java 应用程序动态生成 PDF 文件

    简介: 如果您的应用程序需要动态生成 PDF 文档,那么您需要 iText 库.开源的 iText 库使得 PDF 的创建变得轻松易行.本文介绍了 iText 并提供了一个使用它从 Java 技术应用 ...

  7. php点击后增加html元素,如何动态生成html元素以及为元素追加属性的方法介绍(附代码)...

    本篇文章给大家分享的是关于如何动态生成html元素以及为元素追加属性的方法介绍(附代码),内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家. 动态生成HTML元素的方法有三种: 第一种:doc ...

  8. java生成word文档_Java多种方式动态生成doc文档

    本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在Android上做到完美,最后还是只能搬迁到服务器.不浪费,还是记录下各框架不支持Android的原因以及他们的特点. ...

  9. 动态生成form表单,不在为表单烦恼

    form-create 具有动态渲染.数据收集.校验和提交功能的表单生成器,动态生成Form表单.支持双向数据绑定和事件扩展,组件包含有复选框.单选框.输入框.下拉选择框等表单元素以及省市区三级联动, ...

最新文章

  1. php与nginx链接,Nginx与PHP的交互
  2. linux怎么测试磁盘读写,怎样测试Linux磁盘的读写速率
  3. 优秀的网工都会NAT
  4. android settings源代码分析(2)
  5. ITK:在签名图像中找到零交叉点
  6. 安装仅限于用于sharepoint_酒泉汗蒸房设计施工厂家,家庭汗蒸房安装厂家
  7. vsphere平台windows虚拟机克隆的小插曲(无法登陆系统)
  8. 【Python】体育竞技分析
  9. Git操作记录方便查阅
  10. 李飞飞新动向:创建斯坦福“以人为本AI研究院”,担任共同院长
  11. 线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)
  12. kettle连接ClickHouse
  13. 微表情测试软件排行榜,微表情心理测试分析系统:以“微”见智,识情绪辨人心...
  14. 你知道3D打印SLA的优缺点吗?
  15. 高速PCB阻抗设计阻抗控制内参
  16. 无需写代码,又一个数据动态图制作利器
  17. python+selenium3登录126邮箱并发送邮件
  18. 使用Java计算生辰八字五行属性
  19. PID控制参数整定(调节方法)原理+图示+MATLAB调试
  20. 2021年中国压滤机行业进出口现状及竞争格局分析,市场竞争格局呈现两级分化「图」

热门文章

  1. 图片降噪软件哪个好?不如试试Topaz DeNoise AI
  2. bzoj 4246: 两个人的星座 计算几何
  3. mes系统故障_mes系统实施失败是什么原因?
  4. Longest Common Prefix_LeetCode
  5. 嵌入式开发语言-C语言编程
  6. ROS系统下完成TCP通信 C语言编程
  7. linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
  8. 计算机组成原理课程设计:在复杂模型机上编写机器指令与微程序计算海伦公式
  9. k8s 详解 pod 生命周期 容器探测(live and ready) 钩子函数 pod的重启策略
  10. golang 单元测试和性能测试