VUE前端删除和批量删除实现代码

 更新时间:2023年07月24日 15:03:34   作者:Rabbityyhh  
这篇文章主要给大家介绍了关于VUE前端删除和批量删除的相关资料, 在实际的开发中,我们可以使用Vue.js来快速实现批量删除功能,文中给出了详细的代码示例,需要的朋友可以参考下

前言

下面给大家介绍一下前端的删除方法,在开发中 我们常常会碰到这种业务,有一些数据需要在前端进行删除,我们并不希望他走后端的接口,而是在点击提交或者其他的业务完成后才走接口,这时我们就用到了vue的前端删除方法。

首先给大家介绍一下删除一条数据的情况:

在element ui的el-table 我们需要先写出删除按钮

<el-table
  ref="departmentTable"
  :data="tableDepartmentList.data"
  style="width: 100%"
  @selection-change="handleSelectionChangeDepartment"
  >
  <el-table-column label="操作" width="70">
    <template slot-scope="scope">
      <span style="cursor: pointer" @click="deleteDepartmentRow(scope.$index)">
          <i class="el-icon-delete"></i>
      </span>
    </template>
  </el-table-column>
</el-table>
<!--  scope.$index 就是你删除的数据在第几行,第一行就返回1,以此类推。把这个参数传入用于删除 -->

接下来就可以在methods 中定义出这个方法了

methods: {
	deleteDepartmentRow(index) {
      this.$confirm("此操作将删除信息, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      })
          .then(() => {
            this.tableDepartmentList.data.splice(index, 1);
            this.$message({
              type: "success",
              message: "删除成功!"
            });
          })
          .catch(() => {
            this.$message({
              type: "info",
              message: "已取消删除"
            });
          });
}
// 第九行代码就是执行的删除方法,this.tableDepartmentList.data,是el-table绑定的数据,不多解释。splice()方法中可以传入1-3个
// 参数,这里只介绍俩参数的 其他的大家可以去查一下,很简单。
// 当splice(index, 1)中传入两个参数的意思就是: index就是刚刚我们传入的行数,就是删除刚刚我们选中那行的数据. 1代表删除一条

批量删除:

批量删除我们需要配合el-table中的 selection来使用,也就是下面的第七行

<el-table
          ref="departmentTable"
          :data="tableDepartmentList.data."
          style="width: 100%"
          @selection-change="handleSelectionChangeDepartment"
          >
  <el-table-column type="selection" width="55"></el-table-column>
  <el-table-column label="操作" width="70">
    <template slot-scope="scope">
      <span style="cursor: pointer" @click="deleteDepartmentRow(scope.$index, scope.row)">
        <i class="el-icon-delete"></i>
      </span>
    </template>
  </el-table-column>
</el-table>
<el-button @click="deleteSelected()">批量删除</el-button>

首先需要注意的是 @selection-change=“handleSelectionChangeDepartment”

@selection-change 是组件当中自带的一个方法,它可以取到我们选择的行的值,所以我们在data中定义一个数组,用于保存这些值,官方组件中有解释,大家可以去看看

data() {
 return {
	multipleSelectionDepartment: [],
 }
},
methods: {
	// 用于保存选中的行
	handleSelectionChangeDepartment(val) {
      this.multipleSelectionDepartment = val;
    },
    deleteSelected(){
      this.$confirm('此操作将批量删除部门, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        let val = this.multipleSelectionDepartment     //选中的值
        if (val) {
          val.forEach((val, index) => {                 // 这块看不明白的话看下面的解释
            this.tableDepartmentList.data.forEach((v, i) => {   
              if (val.deptName === v.deptName) {
                this.tableDepartmentList.data.splice(i, 1)
              }
            })
          })
        }
        this.$message.success("删除成功")
      })
    },
}
// 第一层循环就是循环我们选中的值,第二层循环就是循环我们this.tableDepartmentList.data 中所有的值,然后去判断,
// 如果有一样的数据的话就进行删除

总结

到此这篇关于VUE前端删除和批量删除的文章就介绍到这了,更多相关VUE批量删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue.js学习之UI组件开发教程

    vue.js学习之UI组件开发教程

    前端开发中,随着业务的增多,出于效率的考虑,我们对于组件化开发的需求也越来越迫切。下面这篇文章主要给大家介绍了关于vue.js之UI组件开发的相关资料,文中介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-07-07
  • Vue多请求并行处理的实战指南

    Vue多请求并行处理的实战指南

    在Vue中同时发送多个请求主要通过并行处理机制实现,常用方法包括 Promise.all,axios.all和 async/await,下面小编就来和大家详细介绍一下详细操作吧
    2025-08-08
  • 解决vue-cli3 使用子目录部署问题

    解决vue-cli3 使用子目录部署问题

    这篇文章主要介绍了解决vue-cli3 使用子目录部署问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • vue最简单的前后端交互示例详解

    vue最简单的前后端交互示例详解

    这篇文章主要介绍了vue最简单的前后端交互示例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Vue面试中observable原理详解

    Vue面试中observable原理详解

    这篇文章主要为大家介绍了vue面试observable原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • vue进行post和get请求实例讲解

    vue进行post和get请求实例讲解

    这篇文章主要介绍了vue进行post和get请求实例讲解,违章围绕post和get请求的相关资料展开详细内容,具有一的的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • vue-cli项目修改文件热重载失效的解决方法

    vue-cli项目修改文件热重载失效的解决方法

    今天小编就为大家分享一篇vue-cli项目修改文件热重载失效的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 使用vant 自定义弹框全过程

    使用vant 自定义弹框全过程

    这篇文章主要介绍了使用vant 自定义弹框全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Elemenu中el-table中使用el-popover选中关闭无效解决办法(最新推荐)

    Elemenu中el-table中使用el-popover选中关闭无效解决办法(最新推荐)

    这篇文章主要介绍了Elemenu中el-table中使用el-popover选中关闭无效解决办法(最新推荐),因为在el-table-column里,因为是多行,使用trigger="manual" 时,用v-model="visible"来控制时,控件找不到这个值,才换成trigger="click",需要的朋友可以参考下
    2024-03-03
  • vue中axios处理http发送请求的示例(Post和get)

    vue中axios处理http发送请求的示例(Post和get)

    本篇文章主要介绍了vue中axios处理http请求的示例(Post和get),这里整理了详细的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10

最新评论