Vue form表单动态添加组件实战案例


Posted in Javascript onSeptember 02, 2019

今天我们来给大家介绍下在Vue开发中我们经常会碰到的一种需求场景,就是在form中我们需要动态的增加组件模块,效果如下:

Vue form表单动态添加组件实战案例

这种效果实现其实就是对 v-for 指令的一种使用,组件不是必须的,只是为了将这部门的代码我们单独的拎出来,便于查看,好了,话不多说,我们来看下具体怎么来实现。

案例效果的实现

1.创建组件

首先我们创建一个单独的组件,同时在 template 中定义我们的表单元素,此处使用的是 element UI 来实现效果。

Vue form表单动态添加组件实战案例

2.import组件

我们需要在父组件中引入创建的组件,并通过 v-for 来实现动态处理的效果,关键代码如下

Vue form表单动态添加组件实战案例

使用组件

Vue form表单动态添加组件实战案例

data 中定义 edus 数组.

Vue form表单动态添加组件实战案例

3.实现添加功能

要实现动态添加组件的功能,我们需要通过点击添加的按钮来增加数组 edus 中的元素,如下

Vue form表单动态添加组件实战案例

let addEduView = function(){
 this.edus.push({})
}

如此即可实现动态添加的功能。

4.实现移除功能

实现移除动态添加的组件,我们需要在组件中调用父组件中的方法。如下

父组件中定义移除的方法

let deleteEducation = function(index){
 if (index !== 0) {
  this.edus.splice(index, 1)
 }
}

Vue form表单动态添加组件实战案例

子组件中回调

Vue form表单动态添加组件实战案例

5.提交数据

当我们要提交表单数据的时候,怎么将动态添加的组件中的数据一并提交给后台服务呢,步骤如下:

Vue form表单动态添加组件实战案例

Vue form表单动态添加组件实战案例

提交数据的时候将 edus 数组中的数据和表单数据一块转换为 JSON 数据提交到后台。

Vue form表单动态添加组件实战案例

6.清空组件

最后操作完成需要将动态添加的组件处理掉怎么实现呢?其实效果很简单,我们只需要清空 edus 数组即可

Vue form表单动态添加组件实战案例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript网页关键字高亮代码
Jul 30 Javascript
用js实现计算加载页面所用的时间
Apr 02 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
Dec 20 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
React BootStrap用户体验框架快速上手
Mar 06 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
vue自定义表单生成器form-create使用详解
Jul 19 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 Javascript
小程序和web画三角形实现解析
Sep 02 #Javascript
vue-cli随机生成port源码的方法
Sep 02 #Javascript
微信小程序 云开发模糊查询实现解析
Sep 02 #Javascript
layui 数据表格 点击分页按钮 监听事件的实例
Sep 02 #Javascript
js中比较两个对象是否相同的方法示例
Sep 02 #Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 #Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 #Javascript
You might like
PHP查看当前变量类型的方法
2015/07/31 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
编辑浪子版表单验证类
2007/05/12 Javascript
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
2015/04/08 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
python频繁写入文件时提速的方法
2019/06/26 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
Python中的全局变量如何理解
2020/06/04 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
2020/12/14 HTML / CSS
.NET面试题:什么是反射
2016/09/30 面试题
人力资源专业推荐信
2013/11/29 职场文书
商务主管岗位职责
2013/12/08 职场文书
上甘岭观后感
2015/06/10 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书