当前位置:首页 > VUE

vue实现表格批量删除

2026-01-20 14:54:27VUE

Vue实现表格批量删除功能

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

数据准备与表格渲染

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

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

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

<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);
  }
}

批量删除实现

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

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. 删除后可能需要重新获取数据而非本地过滤(视业务需求而定)

性能优化建议

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

vue实现表格批量删除

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

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

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

相关文章

css好看的表格制作

css好看的表格制作

CSS表格美化方法 边框与间距优化 使用border-collapse合并边框,避免双线边框。设置padding增加单元格内边距,提升可读性。 table { border-collapse:…

css好看的表格制作

css好看的表格制作

使用CSS制作美观表格的方法 边框与间距优化 通过border-collapse属性合并边框,避免双边框效果。设置padding增加单元格内边距,提升可读性。 table { border-…

vue实现子表格

vue实现子表格

实现子表格的基本思路 在Vue中实现子表格通常需要结合组件化思想和动态渲染技术。常见的场景是在主表格的行内嵌套子表格,展开主表行时显示对应的子表数据。 使用el-table实现子表格(Element…

网页表格制作css代码

网页表格制作css代码

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

vue实现表格修改

vue实现表格修改

Vue 实现表格修改的方法 使用 v-model 绑定数据 在 Vue 中可以通过 v-model 实现双向数据绑定,适用于表格单元格的编辑。 为表格的每个单元格绑定 v-model,动态修改数据。…

vue实现表格滚动

vue实现表格滚动

Vue 实现表格滚动的方法 使用 CSS 固定表头并滚动内容 通过 CSS 设置表格容器的固定高度和 overflow-y: auto,实现内容区域的滚动。表头部分使用 position: stick…