VUE前端删除和批量删除

这篇具有很好参考价值的文章主要介绍了VUE前端删除和批量删除。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下面给大家介绍一下前端的删除方法,在开发中 我们常常会碰到这种业务,有一些数据需要在前端进行删除,我们并不希望他走后端的接口,而是在点击提交或者其他的业务完成后才走接口,这时我们就用到了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中定义一个数组,用于保存这些值,官方组件中有解释,大家可以去看看文章来源地址https://www.toymoban.com/news/detail-517215.html

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前端删除和批量删除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端小工具Vue+ElementUI+Clipboard :快捷复制

    我们在日常经常会遇到这种功能(特别多见于C端): 手机上操作不变,想要粘贴个信息比较麻烦,就会出现【点一点复制】 查看敏感信息一般就直接提示【已成功复制粘贴板】 对于网页上一长串显示的文字或者输入的文字,全部选中很长又很麻烦,这时候就提供\\\"快捷复制\\\"的

    2024年02月06日
    浏览(26)
  • GuLi商城-前端基础Vue-整合ElementUI快速开发

    npm安装 启动项目:npm run dev http://localhost:8082/#/hello 

    2024年02月09日
    浏览(32)
  • Vue + ElementUI 实现后台管理系统模板 -- 前端篇

    使用场景分析: Home.vue 页面中,Header 部分有个折叠按钮,点击之后,可以折叠与展开 Aside 组件,这之间就设计到数据在组件间的共享。 使用 vuex 后,数据统一管理,当数据发生变化时,其所有引用的地方均会修改。 2、安装、模块化使用 vuex 1》安装 项目构建时,已经安装

    2024年04月11日
    浏览(34)
  • vue2:elementUI中Form 表单在特定情况下做动态rules添加删除

    先看需求: (不想看的直接拉到最后)  【需求说明】 6、如状态为上架时,库存为必填,下架状态时,库存为可填,前面无星号 实现方法:使用this.$set()和this.$delete() 上代码: 由于设计商业隐私,代码只上传一部分:   表单data中原来的rules: 不添加上下架状态的rules 在

    2023年04月08日
    浏览(31)
  • Vue2+ElementUI的el-table实现新增数据行与删除的功能

    TableIndex.vue 如下 新增 按钮添加数据行 删除 按钮提示是否继续删除

    2024年04月23日
    浏览(33)
  • 使用vue脚手架搭建前端工程(附:搭配ElementUI来快速开发)

    目录 一、搭建过程 1. 全局安装webpack(打包工具) 2. 全局安装vue脚手架 3. 初始化vue项目 4. vue项目目录的简单介绍 二、执行流程分析 三、自己造一个组件案例 四、ElementUI的使用 1. 环境的引入 2. 一个简单使用 3. 使用它来快速搭建后台管理系统 五、总结 npm install webpack -g np

    2024年02月10日
    浏览(52)
  • 使用Vue.js时,如何删除ESLint?

    在Vue.js项目中,ESLint是一个常用的JavaScript代码规范工具。它可以帮助开发者遵循一致的代码风格,并捕获潜在的错误。然而,有时候你可能希望删除ESLint,例如当你认为它对你的项目不再必要或者与其他工具产生冲突时。下面将介绍如何删除Vue.js中的ESLint。 要删除ESLint,你

    2024年02月04日
    浏览(33)
  • vue elementui 实现从excel从复制多行多列后粘贴到前端界面el-table

    可以全部复制粘贴,也可以单独对某行、某列进行复制粘贴 从excel复制粘贴到前端页面的table上 html部分: js部分:

    2024年02月04日
    浏览(46)
  • 前端vue+elementui导出复杂(单元格合并,多级表头)表格el-table转为excel导出

    需求 :前端对el-table表格导出 插件 : npm install xlsx -S npm install file-saver --save 原理 :直接导出el-table的表格里面的数据,这样就会存在缺点,只会导出当前页面的数据,如果需要导出全部数据,可以自己重新渲染一个全部数据不可见的el-table表格,来导出就可以了 扩展 :经过

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包