vue 实现在同一界面实现组件的动态添加和删除功能


Posted in Javascript onJune 16, 2020

 1.插入静态组件,将自己想要循环的组件显示在页面上,利用v-for进行循环操作,操作包括增删。

//所有要显示的子组件,写在一个li标签,有 v-for循环。
  <li v-for="(item, index) in questionList" v-bind:key="index">
          <el-row :gutter="20">
            <el-col offset="2" :span="4">
              <el-select
                size="small"
                v-model="chooseValue"
                multiple
                placeholdr="请选择试题类型"
                style="width:200px;margin-left:-40px"
              >
                <el-option :value="item.mineStatusValue" style="height:auto">
                  <el-tree
                    :data="data"
                    node-key="id"
                    :props="defaultProps"
                    @node-click="handleNodeClick"
                  ></el-tree>
                </el-option>
              </el-select>
            </el-col>
            <el-col offset="3" :span="3">
              <el-select
                style="margin-left:-30px"
                size="small"
                v-model="item.value"
                placeholder="请选择">
                <el-option
                  v-for="item in questionoptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </el-select>
            </el-col>
            <el-col offset="2" :span="4">
              <el-input style="width:45px;" size="small" v-model="count">
                {{ item.count }}
              </el-input>
              <label> /0 </label>
            </el-col>
            <el-col :span="6">
              <el-input style="width:45px;" size="small" v-model="sourcess">
                {{ item.sourcess }}
              </el-input>
              <label>  </label>
              <!-- 在i标签设置删除按钮,运用splice函数。 -->
              <i class="el-icon-remove-outline"
                style="margin-left:20px"
                @click="questionList.splice(index, 1)"
              ></i>

2.增

在方法添加按钮,在点击添加按钮的时候将需要的参数传进数组,遍历数组,达到组件渲染。

//添加试题,组件循环显示
    addQuestion() {
      console.log("添加试题");
      this.questionList.unshift({
        mineStatusValue: this.mineStatusValue,
        questionoptions: this.questionoptions,
        count: this.count,
        sourcess: this.sourcess,
      });
    },

3.删

根据选中的组件,获取它的索引,根据下标把它删掉,更新数组,重选渲染组件。

注:删除的时候用到了splic函数,具体的使用可以自己了解。

<i class="el-icon-remove-outline"
  style="margin-left:20px"
  @click="questionList.splice(index, 1)">
</i>

4.效果

vue 实现在同一界面实现组件的动态添加和删除功能

PS:在Vue组件上动态添加和删除属性方法

如下所示:

在组件上添加属性 this.$set(this.data,"obj",value');

删除属性this.$delete(this.data,"obj",value');

总结

到此这篇关于vue 实现在同一界面实现组件的动态添加和删除的文章就介绍到这了,更多相关vue 组件动态添加和删除内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
Apr 02 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
jQuery实现防止提交按钮被双击的方法
Mar 24 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
javascript实现自动填写表单实例简析
Dec 02 Javascript
非常漂亮的相册集 使用jquery制作相册集
Apr 28 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
详解JS预解析原理
Jun 16 #Javascript
深入了解JS之作用域和闭包
Jun 16 #Javascript
JS数组及对象遍历方法代码汇总
Jun 16 #Javascript
浅谈Vue 函数式组件的使用技巧
Jun 16 #Javascript
原生JS实现天气预报
Jun 16 #Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 #Javascript
原生JS实现无缝轮播图片
Jun 24 #Javascript
You might like
Syphon 使用方法
2021/03/03 冲泡冲煮
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
vue自动化路由的实现代码
2019/09/30 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
git进行版本控制心得详谈
2017/12/10 Python
Python函数中不定长参数的写法
2019/02/13 Python
Python中按值来获取指定的键
2019/03/04 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
大学生学期自我鉴定
2014/03/19 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
小学教学工作总结2015
2015/05/13 职场文书
安全主题班会教案
2015/08/12 职场文书
初中生物教学随笔
2015/08/15 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书