Vue实现动态添加或者删除对象和对象数组的操作方法


Posted in Javascript onSeptember 21, 2018

添加核心代码如下:

this.data.push({
      type: [{
       value: '选项1',
       label: 'in'
      },
       {
        value: '选项3',
        label: 'out'
       }],
      value:[{
       value: '选项1',
       label: 'CSV'
      },
       {
        value: '选项3',
        label: 'TSV'
       }],
      parameter:'',
      default:'',
      description:'',
      isDelete:false,
     });

删除核心代码如下:

/*遍历数组,然后根据选中的状态获取对应的下标,然后进行删除*/
     for (let i = 0;i<this.data.length;i++){
      let obj = this.data[i];
      if (obj.isDelete){
       this.data.splice(i,1);
       i--
      }
     }

全部代码如下:

<template>
  <div>
   ============================32、在Vue项目中实现动态添加或者删除对象和对象数组============================
   <div>
    <el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
    <el-button type="primary" icon="el-icon-delete" @click="deleteItem"></el-button>
    <el-row :gutter="50"  v-for="(item,index) in data" :key="index">
     <!--Type-->
     <el-col :span="4">
      <div class="grid-content bg-purple">
       <el-row >
        <el-col :span="24">
         <el-select v-model="value" placeholder="请选择" size="mini">
          <el-option
           v-for="obj in item.type"
           :key="obj.value"
           :label="obj.label"
           :value="obj.value">
          </el-option>
         </el-select>
        </el-col>
       </el-row >
      </div>
     </el-col>
     <!--value-->
     <el-col :span="4">
      <div class="grid-content bg-purple-light">
       <el-row >
        <el-col :span="24">
         <el-select v-model="value" placeholder="请选择" size="mini">
          <el-option
           v-for="obj in item.value"
           :key="obj.value"
           :label="obj.label"
           :value="obj.value">
          </el-option>
         </el-select>
        </el-col>
       </el-row >
      </div>
     </el-col>
     <!--Parameter-->
     <el-col :span="4">
      <div class="grid-content bg-purple">
       <el-input
        size="mini"
        placeholder="请输入内容"
        v-model="item.parameter"
        clearable>
       </el-input>
      </div>
     </el-col>
     <!--Default-->
     <el-col :span="4">
      <div class="grid-content bg-purple-light">
       <el-input
        size="mini"
        placeholder="请输入内容"
        v-model="item.default"
        clearable>
       </el-input>
      </div>
     </el-col>
     <!--Description-->
     <el-col :span="4">
      <div class="grid-content bg-purple">
       <el-input
        size="mini"
        placeholder="请输入内容"
        v-model="item.description"
        clearable>
       </el-input>
      </div>
     </el-col>
     <!--Del-->
     <el-col :span="4">
      <div class="grid-content bg-purple-light " id="checkboxSpacingDiv">
       <!-- `checked` 为 true 或 false -->
       <el-checkbox v-model="item.isDelete" size="medium"></el-checkbox>
      </div>
     </el-col>
    </el-row>
   </div>
  </div>
</template>
<script>
  export default {
    name: "VueArrays_32",
   data(){
     return {
      data:[
       {
        type: [{
         value: '选项1',
         label: 'in'
        },
         {
          value: '选项3',
          label: 'out'
         }],
        value:[{
         value: '选项1',
         label: 'CSV'
        },
         {
          value: '选项3',
          label: 'TSV'
         }],
        parameter:'',
        default:'',
        description:'',
        isDelete:false,
       },
      ],
     }
   },
   methods:{
    add(){
     this.data.push({
      type: [{
       value: '选项1',
       label: 'in'
      },
       {
        value: '选项3',
        label: 'out'
       }],
      value:[{
       value: '选项1',
       label: 'CSV'
      },
       {
        value: '选项3',
        label: 'TSV'
       }],
      parameter:'',
      default:'',
      description:'',
      isDelete:false,
     });
    },
    deleteItem(){
     /*遍历数组,然后根据选中的状态获取对应的下标,然后进行删除*/
     for (let i = 0;i<this.data.length;i++){
      let obj = this.data[i];
      if (obj.isDelete){
       this.data.splice(i,1);
       i--
      }
     }
    }
   }
  }
</script>
<style scoped>
</style>

 效果图如下:

Vue实现动态添加或者删除对象和对象数组的操作方法

总结

以上所述是小编给大家介绍的Vue实现动态添加或者删除对象和对象数组的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript浏览器选项卡效果
Aug 25 Javascript
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
js获取location.href的参数实例代码
Aug 02 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
js获取url中&quot;?&quot;后面的字串方法
May 15 Javascript
javascript中的return和闭包函数浅析
Jun 06 Javascript
JS实现很酷的水波文字特效实例
Feb 26 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
jQuery获取单击节点对象的方法
Jun 02 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
Mar 11 Javascript
基于javascript的无缝滚动动画1
Aug 07 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
Sep 21 #Javascript
React实现全局组件的Toast轻提示效果
Sep 21 #Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
Sep 21 #Javascript
vue 使某个组件不被 keep-alive 缓存的方法
Sep 21 #Javascript
解决vue keep-alive 数据更新的问题
Sep 21 #Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 #Javascript
vue2使用keep-alive缓存多层列表页的方法
Sep 21 #Javascript
You might like
Protoss热键控制
2020/03/14 星际争霸
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
linux iconv方法的使用
2011/10/01 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
2020/06/23 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python简单判断序列是否为空的方法
2015/06/30 Python
Python中属性和描述符的正确使用
2016/08/23 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
如何打开WebSphere远程debug
2014/10/10 面试题
物流司机岗位职责
2013/12/28 职场文书
青年文明号事迹材料
2014/01/18 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers