当前位置:首页 > VUE

vue实现表格批量删除

2026-01-20 14:54:27VUE

Vue实现表格批量删除功能

核心思路:通过复选框选择多条数据,调用接口批量删除,并更新本地数据。

数据准备与表格渲染

在Vue组件中定义表格数据和选中项的数组:

data() {
  return {
    tableData: [], // 表格数据
    multipleSelection: [], // 选中的数据
    selectedIds: [] // 选中的ID集合
  }
}

表格模板中使用el-tableel-checkbox

vue实现表格批量删除

<el-table 
  :data="tableData" 
  @selection-change="handleSelectionChange"
  ref="multipleTable">
  <el-table-column type="selection" width="55"></el-table-column>
  <!-- 其他列 -->
</el-table>

选择项处理

实现选择变化时的回调方法:

methods: {
  handleSelectionChange(val) {
    this.multipleSelection = val;
    this.selectedIds = val.map(item => item.id);
  }
}

批量删除实现

删除方法需要处理接口调用和本地数据更新:

vue实现表格批量删除

batchDelete() {
  if (this.selectedIds.length === 0) {
    this.$message.warning('请至少选择一条数据');
    return;
  }

  this.$confirm('确认删除选中数据?', '提示', {
    type: 'warning'
  }).then(() => {
    // 调用API
    deleteItems(this.selectedIds).then(res => {
      this.$message.success('删除成功');
      // 过滤掉已删除的数据
      this.tableData = this.tableData.filter(
        item => !this.selectedIds.includes(item.id)
      );
      // 清空选择
      this.$refs.multipleTable.clearSelection();
    });
  }).catch(() => {});
}

全选/反选功能增强

可添加全选按钮提升用户体验:

<el-button @click="toggleSelection">全选/反选</el-button>
<el-button @click="batchDelete" type="danger">批量删除</el-button>

对应方法实现:

toggleSelection() {
  if (this.$refs.multipleTable) {
    const $table = this.$refs.multipleTable;
    $table.toggleAllSelection();
  }
}

注意事项

  1. 删除操作前务必添加确认对话框
  2. 接口调用失败时需要处理错误情况
  3. 对于大量数据应考虑分页处理
  4. 删除后可能需要重新获取数据而非本地过滤(视业务需求而定)

性能优化建议

对于大型表格可考虑以下优化:

// 使用row-key提高渲染性能
<el-table row-key="id">
  <!-- 列定义 -->
</el-table>

// 虚拟滚动优化(Element Plus支持)
<el-table-v2 :columns="columns" :data="data" :width="700" :height="400" />

标签: 批量表格
分享给朋友:

相关文章

vue实现导出表格

vue实现导出表格

Vue 中实现表格导出 使用 xlsx 库导出 Excel 安装 xlsx 库: npm install xlsx --save 在 Vue 组件中引入并使用: import XLSX from…

vue实现表格

vue实现表格

Vue实现表格的方法 在Vue中实现表格可以通过多种方式完成,包括使用原生HTML表格、第三方组件库或自定义组件。以下是几种常见的方法: 使用原生HTML表格 在Vue模板中直接使用HTML的&l…

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中:…

vue实现导出表格

vue实现导出表格

Vue 实现导出表格的方法 使用 xlsx 库导出 Excel 安装 xlsx 库 npm install xlsx 在 Vue 组件中引入 xlsx import * as XLSX from…

vue实现表格刷新

vue实现表格刷新

Vue 实现表格刷新的方法 使用 v-if 强制重新渲染 通过 v-if 控制表格的显示与隐藏,切换时 Vue 会重新渲染组件。 <template> <button @cli…

vue easyui表格实现

vue easyui表格实现

Vue 与 EasyUI 表格集成方法 Vue 本身不直接支持 EasyUI,但可通过第三方库或手动集成实现。以下是两种主流方案: 方案一:使用 vue-easyui 封装库 安装官方维护的 Vue…