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 相关文章推荐
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
js实现文本框中焦点在最后位置
Mar 04 Javascript
ECMAScript6中Set/WeakSet详解
Jun 12 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
Jun 08 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
JS获取一个表单字段中多条数据并转化为json格式
Oct 17 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
webpack5 联邦模块介绍详解
Jul 08 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为php增加openssl模块的方法
2011/06/14 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
python文件操作整理汇总
2014/10/21 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
对Python中plt的画图函数详解
2018/11/07 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
基于python调用psutil模块过程解析
2019/12/20 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
J2EE面试题
2016/03/14 面试题
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
python画条形图的具体代码
2022/04/20 Python