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批量删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vscode中eslint插件的配置(prettier配置无效)

    vscode中eslint插件的配置(prettier配置无效)

    这篇文章主要介绍了vscode中eslint插件的配置(prettier配置无效),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • vue3+ts实现一个表单组件的详细代码

    vue3+ts实现一个表单组件的详细代码

    这篇文章主要介绍了vue3+ts实现一个表单组件的详细代码,确保通过axios调用后端接口来获取省市区和街道数据,并在选择省市区时加载相应的街道数据,需要的朋友可以参考下
    2024-07-07
  • 详解基于Vue,Nginx的前后端不分离部署教程

    详解基于Vue,Nginx的前后端不分离部署教程

    这篇文章主要介绍了详解基于Vue,Nginx的前后端不分离部署教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Element-UI中el-table如何合并相同单元格

    Element-UI中el-table如何合并相同单元格

    这篇文章主要给大家介绍了关于Element-UI中el-table如何合并相同单元格的相关资料,el-table的组件的可以合并单元格,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • vue 绑定使用 touchstart touchmove touchend解析

    vue 绑定使用 touchstart touchmove touchend解析

    这篇文章主要介绍了vue 绑定使用 touchstart touchmove touchend解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • echarts设置tootip轮播切换展示(vue3搭配vue-echarts粘贴即用)

    echarts设置tootip轮播切换展示(vue3搭配vue-echarts粘贴即用)

    这篇文章主要为大家介绍了echarts设置tootip轮播切换展示效果,vue3搭配vue-echarts粘贴即用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2023-10-10
  • VUE递归树形实现多级列表

    VUE递归树形实现多级列表

    这篇文章主要为大家详细介绍了VUE递归树形实现多级列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • vue+vuex+json-seiver实现数据展示+分页功能

    vue+vuex+json-seiver实现数据展示+分页功能

    这篇文章主要介绍了vue+vuex+json-seiver实现数据展示+分页功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • vue实现一拉到底的滑动验证

    vue实现一拉到底的滑动验证

    这篇文章主要为大家详细介绍了vue简单的一拉到底的滑动验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Vue二次封装el-select实现下拉滚动加载效果(el-select无限滚动)

    Vue二次封装el-select实现下拉滚动加载效果(el-select无限滚动)

    el-select默认是不支持虚拟滚动的,需要使用第三方插件来实现虚拟滚动功能,下面这篇文章主要给大家介绍了关于Vue二次封装el-select实现下拉滚动加载效果的相关资料,需要的朋友可以参考下
    2024-04-04

最新评论