vue使用splice()删除数组中的一个数据 弹出窗口提示问题

 更新时间:2023年07月03日 09:14:45   作者:大可大可抖  
这篇文章主要介绍了vue使用splice()删除数组中的一个数据 弹出窗口提示问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用splice()删除数组中的一个数据 弹出窗口提示

1.  循环输出数组时 v-for="(item,index) in list"   //需要获取当前下标,item

2. 点击删除按钮传一个参数 , 在这个弹窗口方法中获取到 这个参数。  在data中设置一个空置,把参数赋给这个值。

3. 弹窗中点击删除按钮 这个数组.splice(获取到的下标值,1);

vue中splice()方法实现对数组进行增删改操作

语法结构:splice(index,len,[item])

1、可以用来添加/删除/替换数组内某一个或者几个值

2、该方法会改变原始数组

  • index:数组开始下标       
  • len: 替换/删除的长度       
  • item:替换的值,删除操作的话 item为空

删除

index表示要删除的数组下标, len长度为1(len设置1,如果为0,则数组不变),item为空表示执行删除操作

<div id="demo">
  <h2>v-for 遍历数组</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
          序号:{{index}}
          名字:{{item.name}}
          年龄:{{item.age}}
     <button @click="del(index)">删除</button>
    </li>
  </ul>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      persons: [
        {name: 'Tom', age:18},
        {name: 'Jack', age:17},
        {name: 'Bob', age:19},
        {name: 'Mary', age:16}
      ]
    },
    methods: {
      //删除(注意:删除的方法名不能用delete,因为delete是系统关键字)
      del(index) {
        this.persons.splice(index, 1) 
      }
    }
  })
</script>

替换(修改)

相当于是先删除,再添加

<div id="demo">
  <h2>测试: v-for 遍历数组</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
          序号:{{index}}
          名字:{{item.name}}
          年龄:{{item.age}}
     <button @click="update(index, {name:'张三', age: 16})">更新</button>
    </li>
  </ul>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      persons: [
        {name: 'Tom', age:18},
        {name: 'Jack', age:17},
        {name: 'Bob', age:19},
        {name: 'Mary', age:16}
      ]
    },
    methods: {
      //修改
      update(index, item) {
        this.persons.splice(index, 1, item)
      }
    }
  })
</script>

添加

index下标直接设置为0,len长度也设置为0,item传入要添加的对象

<div id="demo">
  <h2>测试: v-for 遍历数组</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
          序号:{{index}}
          名字:{{item.name}}
          年龄:{{item.age}}
    </li>
  </ul>
  <button @click="add({name: '李四', age: 18})">添加</button>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      persons: [
        {name: 'Tom', age:18},
        {name: 'Jack', age:17},
        {name: 'Bob', age:19},
        {name: 'Mary', age:16}
      ]
    },
    methods: {
        //添加
        add (item) {
            this.persons.splice(0, 0, item)
        }
    }
  })
</script>

附加知识点

在v-for遍历中,都需要声明:key,那么:key的作用是什么呢?

答:vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。vue和react的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:

  • 假设1、 两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构。
  • 假设2、 同一层级的一组节点,他们可以通过唯一的id进行区分。

简单的说, :key的作用主要是为了高效的更新虚拟DOM

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue学习笔记之指令v-text && v-html && v-bind详解

    vue学习笔记之指令v-text && v-html && v-bind详解

    这篇文章主要介绍了vue学习笔记之指令v-text && v-html && v-bind详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Vue3中实现代码高亮的两种方法(prismjs和highlight.js)

    Vue3中实现代码高亮的两种方法(prismjs和highlight.js)

    最近忙着开发自己的博客系统,在做界面展示的时候,需要让代码高亮,于是经过在网上查阅,发现有两款比较好用的插件实现代码高亮,分别是prismjs和highlight.js,下面我分别介绍下,方便给需要的同学参考
    2025-04-04
  • vue实现的组件兄弟间通信功能示例

    vue实现的组件兄弟间通信功能示例

    这篇文章主要介绍了vue实现的组件兄弟间通信功能,结合实例形式分析了vue兄弟组件间通信的原理与相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • vue下拉列表的两种实现方式比较

    vue下拉列表的两种实现方式比较

    这篇文章主要介绍了vue下拉列表的两种实现方式比较,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • electron-vue开发环境内存泄漏问题汇总

    electron-vue开发环境内存泄漏问题汇总

    这篇文章主要介绍了electron-vue开发环境内存泄漏问题汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Vue多种方法实现表头和首列固定的示例代码

    Vue多种方法实现表头和首列固定的示例代码

    本篇文章主要介绍了Vue多种方法实现表头和首列固定的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 在vue项目中 实现定义全局变量 全局函数操作

    在vue项目中 实现定义全局变量 全局函数操作

    这篇文章主要介绍了在vue项目中 实现定义全局变量 全局函数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • vue2.0 实现页面导航提示引导的方法

    vue2.0 实现页面导航提示引导的方法

    下面小编就为大家分享一篇vue2.0 实现页面导航提示引导的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Vue数据更新页面却没有更新的几种情况以及解决方法

    Vue数据更新页面却没有更新的几种情况以及解决方法

    我们在开发过程中会碰到数据更新,但是页面却没有更新的情况,下面这篇文章主要给大家介绍了关于Vue数据更新页面却没有更新的几种情况以及解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • vue的v-if里实现调用函数

    vue的v-if里实现调用函数

    这篇文章主要介绍了vue的v-if里实现调用函数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论