当前位置:首页 > 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 中实现子表格可以通过多种方式完成,以下是几种常见的方法: 使用嵌套组件 创建一个父表格组件和一个子表格组件,通过 props 将数据传递给子表格组件。父表格的…

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &…

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 在 Vue 中实现表格可以通过多种方式完成,以下是一个基于 Vue 3 的示例,展示如何动态渲染表格数据并支持基础功能(如排序、筛选)。 基础表格实现 通过 v-for 循…

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

怎么制作css表格

怎么制作css表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…