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 相关文章推荐
jquery 学习之二 属性(类)
Nov 25 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
js将控件隐藏及display属性的使用介绍
Dec 30 Javascript
Array 重排序方法和操作方法的简单实例
Jan 24 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
Aug 28 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
Aug 14 Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 Javascript
canvas轨迹回放功能实现
Dec 20 Javascript
详解在React中跨组件分发状态的三种方法
Aug 09 Javascript
layui实现给某一列加点击事件
Oct 26 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
Phpbean路由转发的php代码
2008/01/10 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
学习vue.js中class与style绑定
2016/12/03 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue滚动tab跟随切换效果
2020/06/29 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
Python如何读取、写入CSV数据
2020/07/28 Python
python中re模块知识点总结
2021/01/17 Python
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
类如何去实现接口
2013/12/19 面试题
汽车驾驶求职信
2013/10/25 职场文书
管理心得体会
2013/12/28 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
2014学年自我鉴定
2014/02/23 职场文书
教师求职自荐信
2014/03/09 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
校园环保标语
2014/06/13 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
公司更名通知函
2015/04/24 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书