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 相关文章推荐
给ListBox添加双击事件示例代码
Dec 02 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
node.js中实现同步操作的3种实现方法
Dec 05 Javascript
JavaScript编程中容易出BUG的几点小知识
Jan 31 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Dec 15 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
vue加载自定义的js文件方法
Mar 13 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
vue实现修改图片后实时更新
Nov 14 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中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
php实现session共享的实例方法
2019/09/19 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
js验证上传图片的方法
2015/05/12 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
拖动时防止选中
2017/02/03 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python实现栈的方法
2015/05/26 Python
Python的Django框架中的Context使用
2015/07/15 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
Python分治法定义与应用实例详解
2017/07/28 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
django 类视图的使用方法详解
2019/07/24 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
Nginx速查手册及常见问题
2022/04/07 Servers