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 相关文章推荐
在vs2010中调试javascript代码方法
Feb 11 Javascript
精通Javascript系列之Javascript基础篇
Jun 07 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
May 13 Javascript
JavaScript日期时间与时间戳的转换函数分享
Jan 31 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
jQuery简单实现MD5加密的方法
Mar 03 Javascript
jquery仿微信聊天界面
May 06 jQuery
详解Vue2 SSR 缓存 Api 数据
Nov 20 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
Mar 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 magic_quotes_gpc的使用方法详解
2013/06/24 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
利用javascript查看html源文件
2006/11/08 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
JavaScript包装对象使用详解
2015/07/09 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
Python的垃圾回收机制深入分析
2014/07/16 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
如何用python 操作zookeeper
2020/12/28 Python
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
学生会竞选自荐信
2013/10/12 职场文书
水务局局长岗位职责
2013/11/28 职场文书
硕士研究生个人求职信
2013/12/04 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
农业生产宣传标语
2014/10/08 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
复试通知单模板
2015/04/24 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
AJAX实现省市县三级联动效果
2021/10/16 Javascript