vue +element 批量删除

news2025/1/21 4:52:06

1.拿到当前勾选状态
在el-table里边去写
单选用第一个 多选用第二个

@select="selectHandle" :当用户手动勾选数据行的 Checkbox 时触发的事件
@select-all="selectHandle":当用户手动勾选全选 Checkbox 时触发的事件
 // 点击勾选选择器
    selectHandle(selection){
      console.log(selection,'selection');
    },

2.接口
2-1:配置接口

batchDelete: "/api/goods/batchDelete", //批量删除

2-2:公共的请求方法

 //   批量删除{id:字符串}
    batchDelete(params){
        return axios.get(base.batchDelete,{params});
    }

3-拿到选中的id储存到新的数组里面

ids:[],//存储选中的id
 selectHandle(selection){
        console.log(selection,'selection');
        let arr = []
      selection.forEach(ele =>{
        arr.push(ele.id)
      })
      this.ids = arr;
    }

4-批量删除点击事件里边操作
4-1:定义一个点击事件

 @click="delectAll"

4-2:点击事件里边操作

  // 批量删除
        delectAll(){
          console.log('ids',this.ids);
        },

拿到id在这里插入图片描述
4-3:小操作之要求取出来的id是字符串

 // 批量删除
        delectAll(){
          console.log('ids',this.ids);
          // // 传递的ids必须是字符串
          let idStr = this.ids.join(',')
          console.log(idStr);
        },

在这里插入图片描述
4-4:异步请求接口并删除

  // 批量删除
       async delectAll(){
          console.log('ids',this.ids);
          // // 传递的ids必须是字符串
          let idStr = this.ids.join(',')
          console.log(idStr);
          let res = await this.$api.batchDelete({ids:idStr})
          console.log('批量删除',res.data);
        },

在这里插入图片描述
4-5:批量删除并更新视图和计算分页显示
在这里插入图片描述
代码

  // 批量删除
       async delectAll(){
          console.log('ids',this.ids);
          // // 传递的ids必须是字符串
          let idStr = this.ids.join(',')
          console.log(idStr);
          let res = await this.$api.batchDelete({ids:idStr})
          console.log('批量删除',res.data);
          if(res.data.status===200){
              //------批量删除-----------------------
              //获取当前是否是最后一页的数据操作-----------
              //获取当前的数据可以展示多少页码  16/8=2   17/8=3  --- 最大的页码数
              let maxPage = Math.ceil(this.total/this.pageSize);
              console.log('最大的页码数--',maxPage);
              //获取选中的个数--- 
              let len = this.ids.length;
              console.log('选中的个数--- ',len);
              //分析:批量删除的时候 删的位置最后一页的数据  再去比较删除的个数与最后一页的条数比较  
              //删除个数==最后一页的条数 选中高亮的页码-1 请求页码数据也就是高亮页码
              if(maxPage == this.current){//最后一页的批量删除操作
                  //最后一页的数据条数---------------
                 let num = this.total%this.pageSize ==0?this.pageSize:this.total%this.pageSize;
                 console.log('最后一页的数据条数---',num);
                 if(num===len){
                    this.current = this.current-1 >0?this.current-1:1;
                 }
              }
              this.projectList(this.current)
          }
        },

4-6:删除的时候做一个提示框

   delectAll() {
            console.log('批量删除---ids---', this.ids);
            //传递的ids必须是字符串 
            let idStr = this.ids.join(',')
            this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning'
            }).then(() => {
              //请求批量删除接口
              this.$api.batchDelete({ ids: idStr })
                .then(res => {
                  console.log('批量删除-------', res.data);
                  if (res.data.status === 200) {
                    //删除成功
                    this.$message({
                      type: 'success',
                      message: '删除成功!'
                    });
                    //------批量删除-----------------------
                    
                    //获取当前是否是最后一页的数据操作-----------
                    //获取当前的数据可以展示多少页码  16/8=2   17/8=3  --- 最大的页码数
                    let maxPage = Math.ceil(this.total/this.pageSize);
                    console.log('最大的页码数--',maxPage);
                    //获取选中的个数--- 
                    let len = this.ids.length;
                    console.log('选中的个数--- ',len);
                    //分析:批量删除的时候 删的位置最后一页的数据  再去比较删除的个数与最后一页的条数比较  
                    //删除个数==最后一页的条数 选中高亮的页码-1 请求页码数据也就是高亮页码
                    if(maxPage == this.current){//最后一页的批量删除操作
                        //最后一页的数据条数---------------
                      let num = this.total%this.pageSize ==0?this.pageSize:this.total%this.pageSize;
                      console.log('最后一页的数据条数---',num);
                      if(num===len){
                          this.current = this.current-1 >0?this.current-1:1;
                      }
                    }
                    this.projectList(this.current)
                    //提示信息-------------
                  }
                })
              }).catch(() => {
                this.$message({
                  type: 'info',
                  message: '已取消删除'
                });
              });
          },

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1064070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:决策树

决策树 决策树是一种基于树形结构的模型,决策树从根节点开始,一步步走到叶子节点(决策),所有的数据最终都会落到叶子节点,既可以做分类也可以做回归。 特征选择 根节点的选择该用哪一个特征呢&#xff…

【python海洋专题十二】年平均的南海海表面温度图

【python海洋专题十二】年平均的南海海表面温度图 上期内容 南海水深图 本期内容 年平均的南海平面温度图 数据来源 NCEP/DOE Reanalysis II: NOAA Physical Sciences Laboratory NCEP/DOE Reanalysis II skt.skt.sfc.mon.ltm.nc Part01. 本文重点内容 前几期地形图&a…

SSM - Springboot - MyBatis-Plus 全栈体系(二十一)

第四章 SpringMVC 四、RESTFUL 风格设计和实战 1. RESTFul 风格概述 1.1 RESTFul 风格简介 RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量…

QT基础入门——QMainWindow与对话框QDialog

前言: Qt 并没有专门的菜单项类,只是使用一个QAction类,抽象出公共的动作。当我们把QAction对象添加到菜单,就显示成一个菜单项,添加到工具栏,就显示成一个工具按钮。用户可以通过点击菜单项、点击工具栏按…

visual studio解决bug封装dll库

1.速度最大化 O2 2.设置输出目录 配置属性/常规/输出目录 链接器/常规/输出dll文件 链接器/调试/输出程序数据库pdb文件 链接器/高级/导入库 3.输出X86 X64分别对应的dll、lib、pdb 然后修改更新说明 更新说明格式如下: 4.将库提交到FTP每日更新库文档下 和测试交接…

运维/全栈必备Window指令

运维/全栈必备Window指令 前言 大家好 我是寸铁 除了Linux有常用的命令 Windows也有 下面让我们一起来看看吧! 总共是40个命令,按照前缀大致划分成25个命令。 便于系统学习和掌握。 需要用到的快捷键: 复制键: ctrl insert退出键&#x…

JTAG/SWD接口定义

目录 1. ST-Link接口定义 2. ULINK2接口定义 为方便查阅,将ST-LINK和ULINK的JTAG和SWD接口定义总结如下: 1. ST-Link接口定义 Pin no. ST-LINK/V2 connector (CN3) ST-LINK/V2 function Target connection (JTAG) Target connection (SWD) 1 VA…

Linux:环境变量、地址空间

目录 一、环境变量 1、什么是环境变量 2、常见的环境变量 3、环境变量相关命令 二、地址空间 1、进程地址空间 2、虚拟地址空间 一、环境变量 1、什么是环境变量 首先先举个环境变量的例子: 我们在Linux中,运行ls、pwd之类的命令,直…

RabbitMQ学习笔记(下):延迟队列,发布确认高级,备份交换机

十、延迟队列 延迟队列 概念&#xff1a; 延迟队列使用场景&#xff1a; 流程图&#xff1a; 延迟队列整合Springboot 导入依赖&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

基于SSM的电脑硬件库存管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

物联网AI MicroPython传感器学习 之 IR人体红外传感器

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 热释电红外运动传感器能检测运动的人或动物身上发出的红外线&#xff0c;输出开关信号&#xff0c;可以应用于各种需要检测运动人体的场合。传统的热释电红外传感器需要人体热释电红外探头、专…

C++基础语法——unordered_map和unordered_set

1. unordered系列关联式容器 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到log(N)&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的节点非常多时&#xff0c;查询效率也不理想。最好的查询是&#xff0c…

【16】c++设计模式——>建造者(生成器)模式

什么是建造者模式? 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;它允许你构造复杂对象步骤分解。你可以不同的步骤中使用不同的方式创建对象&#xff0c;且对象的创建与表示是分离的。这样&#xff0c;同样的构建过程可以创建不同的表…

python pygame入门 - 安装测试篇

pygame入门 - 安装篇 引言一、安装测试1.1 创建虚拟环境1.2 安装测试pygame 二、查看例程源码2.1 源码位置2.2 简单修改 引言 pygame是Python语言特别为游戏开发而设计的一个开源库。它提供了一系列模块和函数&#xff0c;可以帮助开发者快速构建2D游戏、多媒体应用程序和其他…

Electronjs入门-Electron中的主要模块

在本节中&#xff0c;我们将了解在Electron中创建任何应用程序时的一些基本模块&#xff1b;这些模块多种多样&#xff0c;使我们能够轻松地进行进程通信&#xff0c;创建操作系统的本地菜单。 为了利用Electron模块&#xff0c;以及任何第三方或Node模块&#xff0c;不仅在主流…

10.3倒水问题(几何图论建模)

坐标图中每一个位置都对应一个合法的状态&#xff0c;BC对5升杯子做出限制&#xff0c;AD对9升杯子作出限制 每次倒水&#xff0c;都只能把目标杯子装满&#xff0c;否则无法确定倒出水的多少与目标杯子此时水的容量 所以例如&#xff0c;倒5升杯子时&#xff0c;只能要么把5…

盘点网安最好入手的10大岗位,就业转行必看

前言 前段时间&#xff0c;知名机构麦可思研究院发布了《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;信息安全位列第一。 对于网络安全的发展与就业前景已经说过很多&#xff0c;它是收入较高的岗位之一&#xff0c;在转行领域也占…

IO流 之 打印流( PrintStream 和 PrintWriter )

打印流可以实现更加方便的打印数据出去&#xff0c;可以实现打印啥就是啥 PrintStream字节打印流 代码演示&#xff0c;将字符串和其他类型&#xff0c;打印到f.txt文件中。 package day0927;import java.io.FileNotFoundException; import java.io.PrintStream; import java…

伟大不能被计划

假期清理书单&#xff0c;把这个书读完了&#xff0c;结果发现出奇的好&#xff0c;可以说是值得亲身去读的书&#xff0c;中间的一些论述提供了人工智能专业方面的视角来论证这这个通识观点&#xff0c;可信度很不错&#xff1b; 这篇blog也不是对书的总结&#xff0c;更多的是…