今天我们给大家介绍一个我们在Vue开发中经常遇到的需求场景,就是需要在表单中动态添加组件模块,效果如下:
这种效果的实现实际上是使用v-for指令,组件不是必须的,只是为了方便查看而单独带出这个部门的代码。好了,就不多说了,看看怎么实现吧。
案例效果的实现
1.创建组件
首先,我们创建一个单独的组件,并在模板中定义表单元素。在这里,我们使用元素UI来达到效果。
2 .导入组件
我们需要将创建的组件引入到父组件中,通过v-for实现动态处理效果。密钥代码如下
使用组件
在数据中定义edus数组。
3.实现添加功能
为了实现动态添加组件的功能,我们需要通过单击add按钮在数组edus中添加元素,如下所示
让addeduview=function () {this。爱德华斯。push ({})}这样就可以实现动态添加的功能。
4.实现移除功能
要移除动态添加的组件,我们需要在组件的父组件中调用方法。如下
移除方法在父组件中定义
让delete education=function(index){ if(index!==0) { this.edus.splice(index,1)} }
子组件中的回调
5.提交数据
当我们想要提交表单数据时,如何将动态添加组件中的数据提交给后台服务,如下:
提交数据时,将edus数组和表单数据中的数据转换为JSON数据,提交到后台。
6.清空组件
操作完成后如何处置动态添加的组件?事实上,效果很简单,我们只需要清空edus数组
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。