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 相关文章推荐
Cookie 小记
Apr 01 Javascript
现如今最流行的JavaScript代码规范
Mar 08 Javascript
js中数组排序sort方法的原理分析
Nov 20 Javascript
javascript实用方法总结
Feb 06 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
Feb 08 Javascript
一种angular的方法级的缓存注解(装饰器)
Mar 13 Javascript
layerUI下的绑定事件实例代码
Aug 17 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
跨域解决之JSONP和CORS的详细介绍
Nov 21 Javascript
vue响应式原理与双向数据的深入解析
Jun 04 Vue.js
详解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
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
浅析php工厂模式
2014/11/25 PHP
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
JavaScript代码性能优化总结(推荐)
2016/05/16 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
vue使用自定义icon图标的方法
2018/05/14 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python中的错误处理
2016/04/10 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
深入理解Python中的*重复运算符
2017/10/28 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
实习自我鉴定范文
2013/10/30 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
2014年居委会工作总结
2014/12/09 职场文书
廉政承诺书
2015/01/19 职场文书
步步惊心观后感
2015/06/12 职场文书
论语读书笔记
2015/06/26 职场文书
创业计划书之书店
2019/09/10 职场文书
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python
PyTorch device与cuda.device用法
2022/04/03 Python