iview中table选中某条数据删除功能
时间: 2023-10-02 16:12:14 浏览: 151
您可以通过以下步骤实现iview中table选中某条数据删除功能:
1. 在table组件中添加selection-change事件处理函数,用于监听选中数据的变化。
```html
<template>
<Table :data="tableData" @selection-change="handleSelectionChange">
<TableColumn label="姓名" prop="name"></TableColumn>
<TableColumn label="年龄" prop="age"></TableColumn>
<TableColumn label="性别" prop="gender"></TableColumn>
<TableColumn label="操作">
<template slot-scope="props">
<Button type="text" icon="ios-trash" @click="handleDelete(props.row)">删除</Button>
</template>
</TableColumn>
</Table>
</template>
```
2. 在methods中定义handleSelectionChange方法,用于保存当前选中的数据。
```javascript
methods: {
handleSelectionChange(selectedItems) {
this.selectedItems = selectedItems;
},
handleDelete(row) {
// 删除选中的数据
const index = this.tableData.indexOf(row);
this.tableData.splice(index, 1);
// 取消选中状态
this.$refs.table.clearSelection();
}
}
```
3. 在handleDelete方法中实现删除选中的数据,并调用$refs.table.clearSelection()方法取消选中状态。
完整代码如下:
```html
<template>
<Table :data="tableData" @selection-change="handleSelectionChange" ref="table">
<TableColumn label="姓名" prop="name"></TableColumn>
<TableColumn label="年龄" prop="age"></TableColumn>
<TableColumn label="性别" prop="gender"></TableColumn>
<TableColumn label="操作">
<template slot-scope="props">
<Button type="text" icon="ios-trash" @click="handleDelete(props.row)">删除</Button>
</template>
</TableColumn>
</Table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ name: '张三', age: 18, gender: '男' },
{ name: '李四', age: 20, gender: '女' },
{ name: '王五', age: 22, gender: '男' }
],
selectedItems: []
};
},
methods: {
handleSelectionChange(selectedItems) {
this.selectedItems = selectedItems;
},
handleDelete(row) {
// 删除选中的数据
const index = this.tableData.indexOf(row);
this.tableData.splice(index, 1);
// 取消选中状态
this.$refs.table.clearSelection();
}
}
};
</script>
```
阅读全文