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 继承机制实例
Aug 12 Javascript
jQuery.each()用法分享
Jul 31 Javascript
js中的json对象详细介绍
Oct 29 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
Dec 14 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
深入探讨Vue.js组件和组件通信
Sep 12 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
jQuery操作之效果详解
May 19 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
基于JavaScript实现留言板功能
Mar 16 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中数组首字符过滤功能代码
2012/07/31 PHP
初识Laravel
2014/10/30 PHP
php二维码生成以及下载实现
2017/09/28 PHP
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
vue中使用router全局守卫实现页面拦截的示例
2020/10/23 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Django实现跨域请求过程详解
2019/07/25 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
高分子材料与工程专业推荐信
2013/12/01 职场文书
英语系本科生求职信范文
2013/12/18 职场文书
好人好事事迹材料
2014/02/12 职场文书
材料会计岗位职责
2014/03/06 职场文书
医疗纠纷协议书
2014/04/16 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
会计求职自荐信
2014/06/20 职场文书
琅琊山导游词
2015/02/05 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript