前后端分离vue3使用el-table怎么实现全选删除
时间: 2023-06-26 08:07:17 浏览: 163
vue2.0在table中实现全选和反选的示例代码
要实现全选删除的功能,可以按照以下步骤进行:
1. 在表格的表头中添加一个复选框,用于全选/取消全选。
2. 在 el-table 的 data 中添加一个数组,用于存储当前表格中选中的行的数据。
3. 在 el-table 的 row-selection-change 事件中,将选中的行数据添加到上述数组中。
4. 在全选/取消全选的复选框的 change 事件中,通过 el-table 的 toggleAllSelection 方法来实现全选/取消全选。
5. 在删除按钮的 click 事件中,遍历选中的行数据数组,将对应的行从表格数据中删除。
以下是示例代码:
```html
<template>
<el-table :data="tableData" @row-selection-change="handleSelectionChange" ref="table">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
</el-table>
<div class="button">
<el-checkbox v-model="isAllSelected" @change="handleAllSelectionChange">全选</el-checkbox>
<el-button type="danger" @click="handleDelete">删除</el-button>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{ id: 1, name: '张三', age: 20 },
{ id: 2, name: '李四', age: 25 },
{ id: 3, name: '王五', age: 30 }
],
selectedRows: [], // 存储选中的行数据
isAllSelected: false // 是否全选
}
},
methods: {
handleSelectionChange(selection) {
this.selectedRows = selection
},
handleAllSelectionChange(value) {
this.$refs.table.toggleAllSelection()
this.selectedRows = value ? this.tableData : []
},
handleDelete() {
this.selectedRows.forEach(row => {
const index = this.tableData.indexOf(row)
this.tableData.splice(index, 1)
})
this.selectedRows = []
this.isAllSelected = false
}
}
}
</script>
```
以上代码中,el-checkbox 和 el-button 为 Element UI 的组件,需要在代码中引入对应的组件库。
阅读全文