当前位置:首页 > 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 实现表格 在 Vue 中实现表格可以通过多种方式完成,以下是一个基于 Vue 3 的示例,展示如何动态渲染表格数据并支持基础功能(如排序、筛选)。 基础表格实现 通过 v-for 循环…

vue日历表格实现

vue日历表格实现

实现Vue日历表格的基本步骤 使用Vue实现日历表格需要处理日期数据生成、渲染和交互逻辑。以下是核心实现方法: 安装依赖(可选) 若需复杂功能可引入date-fns或dayjs等日期库: npm…

vue实现批量删除

vue实现批量删除

实现批量删除功能 在Vue中实现批量删除通常需要结合表格多选功能和API调用。以下是一个完整的实现方案: 表格多选功能实现 使用Element UI的表格组件实现多选功能: <tem…

用css制作表格

用css制作表格

使用CSS制作表格 基础表格结构 HTML中表格由<table>、<tr>(行)、<th>(表头)和<td>(单元格)组成。基础结构如下: <t…

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,包括边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin…

vue实现表格界面

vue实现表格界面

Vue 实现表格界面的方法 使用 Element UI 的表格组件 Element UI 提供了功能丰富的表格组件,适合快速开发表格界面。安装 Element UI 后,可以直接使用 el-table…