Vue+springboot的批量删除功能

vue前台

html 复制代码
<div style="margin-bottom: 10px">
        <el-button type="primary" plain @click="handleAdd">新增</el-button>
        <el-button  @click="delBatch" type="danger" plain style="margin-left: 5px">批量删除</el-button>
      </div>
html 复制代码
        <el-table :data="data.tableData" style="width:100%" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="55" align="center"></el-table-column>
</el-table>

js

javascript 复制代码
// 选择数据
const handleSelectionChange = (val) => {
  data.multipleSelection = val;
}
//批量删除
const delBatch = () => {
  const ids = data.multipleSelection.map(item => item.id)
  if (data.multipleSelection.length === 0) {
    ElMessage.warning('请选择要删除的数据')
    return
  }
  ElMessageBox.confirm('删除数据后无法恢复,您确认删除吗?', '删除确认', {type: 'warning'}).then(() => {
    request.request({
      ids:data.multipleSelection.map(item => item.id),
      url: '/ssCompany/delBatch?ids=' + ids.join(','), // 使用逗号分隔的 ID 字符串作为参数
      method: 'DELETE',
    }).then(res => {
      if (res.code === '200') {
        // 重新获取数据的过程(load() 方法的调用)应该在删除成功后执行
        ElMessage.success("操作成功")
        load()  // 重新获取数据
      } else {
        ElMessage.error(res.msg)
      }
    }).catch(err => {
      // 添加错误处理逻辑
      ElMessage.error('删除时发生错误: ' + err.message)
    })
  }).catch(() => {
    // 处理取消操作的逻辑
    ElMessage.info('取消操作')
  })
}

后台springboot

controller

java 复制代码
  /**
     * 批量删除
     */
    @DeleteMapping("/delBatch")
    public Result delBatch(@RequestParam List<Integer> ids){
        for (Integer id : ids) {
            scManagerService.deleteById(id);
        }
        return Result.success();
    }

mapper

java 复制代码
    //批量删除
    @Delete("DELETE FROM sc_manager WHERE id IN (#{id})")
    void deleteByIds(String id);

service

java 复制代码
 //批量删除
    public void delBatch(List<Integer> ids) {
        scManagerMapper.delBatch(ids);
    }
相关推荐
我叫黑大帅7 小时前
什么叫可迭代对象?为什么要用它?
前端·后端·python
颜渊呐7 小时前
Vue3 + Less 实现动态圆角 TabBar:从代码到优化实践
前端·css
PineappleCoder7 小时前
pnpm 凭啥吊打 npm/Yarn?前端包管理的 “硬链接魔法”,破解三大痛点
前端·javascript·前端工程化
fruge7 小时前
前端文档自动化:用 VitePress 搭建团队技术文档(含自动部署)
运维·前端·自动化
v***88567 小时前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
CoolerWu8 小时前
TRAE SOLO实战成功展示&总结:一个所见即所得的笔记软体
前端·javascript
Cassie燁8 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
vx_bscxy3228 小时前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计
北极糊的狐8 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
spionbo8 小时前
Vue3 前端分页功能实现的技术方案及应用实例解析
前端