ant design vue2 选中表格复选框的数据 另一个表格显示选中的数据
时间: 2023-09-22 14:06:40 浏览: 117
您可以通过监听表格复选框的 `selection-change` 事件来获取选中的数据,然后将这些数据传递给另一个表格进行展示。以下是一个示例:
```vue
<template>
<div>
<a-table :columns="columns" :data-source="tableData" row-key="id" :row-selection="{selectedRowKeys: selectedRows, onChange: handleSelectionChange}">
<span slot="title">
<a-button type="primary" @click="deleteSelectedRows">删除</a-button>
</span>
</a-table>
<a-table :columns="columns" :data-source="selectedRowsData" row-key="id">
</a-table>
</div>
</template>
<script>
export default {
data() {
return {
columns: [
{
title: '姓名',
dataIndex: 'name',
},
{
title: '年龄',
dataIndex: 'age',
},
{
title: '性别',
dataIndex: 'gender',
},
],
tableData: [
{
id: 1,
name: '张三',
age: 18,
gender: '男',
},
{
id: 2,
name: '李四',
age: 20,
gender: '女',
},
{
id: 3,
name: '王五',
age: 22,
gender: '男',
},
],
selectedRows: [],
selectedRowsData: [],
};
},
methods: {
handleSelectionChange(selectedRows) {
this.selectedRows = selectedRows.map((row) => row.id);
this.selectedRowsData = this.tableData.filter((row) => this.selectedRows.includes(row.id));
},
deleteSelectedRows() {
this.tableData = this.tableData.filter((row) => !this.selectedRows.includes(row.id));
this.selectedRows = [];
this.selectedRowsData = [];
},
},
};
</script>
```
在上面的示例中,我们监听了 `selection-change` 事件,并在事件处理函数中获取了选中的行数据的 id,然后通过 `Array.filter()` 方法获取选中的行的数据,并将其赋值给 `selectedRowsData`,最后在另一个表格中展示这些数据。同时,我们还提供了一个 `删除` 按钮,点击后可以将选中的数据从原始数据中删除。
阅读全文