Vue3 + MybatisPlus实现批量删除功能(详细代码)

 更新时间:2024年03月02日 11:11:05   作者:编程抗氧化  
这篇文章主要介绍了Vue3 + MybatisPlus实现批量删除功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一、后端

1.1 编写后端接口

@PostMapping("/batchDelete")
public CommonResult<Boolean> batchDeleteYuzws(@RequestBody List<Long> ids) {
	yuzwsService.batchDelete(ids);
	return success(true);
}

1.2 编写service和其实现类

/**
 * 批量删除
 * @param ids
 */
void batchDelete(List<Long> ids);
@Override
public void batchDelete(List<Long> ids) {
	yuzwsMapper.deleteBatchIds(ids); // mybatisplus自带批量删除的方法
}

二、前端

注意:这里我用的组件工具是elementplus,用法跟elementui几乎一样。

2.1 <el-table>组件加多选样式

2.2 实现多选调用的方法

const selectedIds = ref<number[]>([]) // 表格的选中 ID 数组
/** 表格选中事件 */
/** YuzwsVO是我的实体类 当多选时,自动将id放入selectedIds中*/
const handleSelectionChange = (rows: YuzwsVO[]) => {
    selectedIds.value = rows.map((row) => row.id)
}

2.3 编写批量删除的按钮

<el-button
  type="danger"
  plain
  @click="batchDelete"
  v-hasPermi="['system:yuzws:delete']"
  :disabled="selectedIds.length === 0"
>
  <Icon icon="fa-trash" class="mr-5px" /> 删除
</el-button>

这样当selectedIds的值为0时,按钮禁用,只有选择了多选框,才会取消禁用。

2.4 执行批量删除请求代码

/** 批量删除操作 */
const batchDelete = async () => {
    try {
        // 删除的二次确认
        await message.delConfirm()
        // 发起删除
        await YuzwsApi.batchDeleteYuzws(selectedIds.value)
        message.success(t('common.delSuccess'))
        // 刷新列表
        await getList()
    } catch {}
}
// 批量删除
batchDeleteYuzws: async (data: any) => {
    return await request.post({ url: `/system/yuzws/batchDelete`, data })
},

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

相关文章

  • vue.js diff算法原理详细解析

    vue.js diff算法原理详细解析

    这篇文章主要介绍了vue.js diff算法原理详细解析,diff算法可以看作是一种对比算法,对比的对象是新旧虚拟Dom。顾名思义,diff算法可以找到新旧虚拟Dom之间的差异,但diff算法中其实并不是只有对比虚拟Dom,还有根据对比后的结果更新真实Dom
    2022-06-06
  • Nuxt3重点特性使用举例问题记录

    Nuxt3重点特性使用举例问题记录

    Nuxt3 使用 Vue.js 作为视图引擎,Nuxt3 中提供了所有 Vue 3 功能,所以我们创建的Nuxt项目其实也是vue3项目,这篇文章主要介绍了Nuxt3重点特性使用举例记录,需要的朋友可以参考下
    2022-12-12
  • Vue实现购物车详情页面的方法

    Vue实现购物车详情页面的方法

    这篇文章主要介绍了Vue实战之购物车详情页面的实现,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • vue如何导出文件流获取附件名称并下载(在response.headers里解析filename导出)

    vue如何导出文件流获取附件名称并下载(在response.headers里解析filename导出)

    这篇文章主要介绍了vue如何导出文件流获取附件名称并下载(在response.headers里解析filename导出),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 在Vue使用$attrs实现构建高级组件

    在Vue使用$attrs实现构建高级组件

    本文我们主要来看下Vue3中的$attrs属性。首先,我们会介绍它的用途以及它的实现与Vue2有哪些不两同点,并通过事例来加深对它的理解
    2022-09-09
  • vue 表单输入格式化中文输入法异常问题

    vue 表单输入格式化中文输入法异常问题

    v-model 是 vue.js 提供的语法糖,根据不同的表单控件监听不同的事件,实现对表单控件的数据双向绑定。这篇文章主要介绍了vue 表单输入格式化中文输入法异常,需要的朋友可以参考下
    2018-05-05
  • Vue报错Syntax Error:TypeError: this.getOptions is not a function的解决方法

    Vue报错Syntax Error:TypeError: this.getOptions is not a 

    前几天在vue运行项目过程中报错了,所以下面这篇文章主要给大家介绍了关于Vue报错Syntax Error:TypeError: this.getOptions is not a function的解决方法,需要的朋友可以参考下
    2022-07-07
  • Vue之封装公用变量以及实现方式

    Vue之封装公用变量以及实现方式

    这篇文章主要介绍了Vue之封装公用变量以及实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 详解在vue-cli中使用graphql即vue-apollo的用法

    详解在vue-cli中使用graphql即vue-apollo的用法

    这篇文章主要介绍了详解在vue-cli中使用graphql即vue-apollo的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信

    Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信

    本篇文章主要介绍了Vuejs 用$emit 与 $on 来进行兄弟组件之间的数据传输示例,非常具有实用价值,需要的朋友可以参考下。
    2017-02-02

最新评论