vue页面回显数据_vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据。...
时间: 2024-03-06 11:46:22 浏览: 92
对于多选的Table数据回显,可以使用Vue中的v-model来实现。你可以在data中定义一个选中的数组,然后在Table中使用v-model绑定这个数组,这样就可以实现多选数据回显了。
例如:
```html
<template>
<div>
<el-table
:data="tableData"
:row-key="row => row.id"
v-loading="loading"
v-model="selectedItems">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
tableData: [
{ id: 1, name: 'John', age: 18 },
{ id: 2, name: 'Jane', age: 22 },
{ id: 3, name: 'Tom', age: 20 },
],
selectedItems: [],
};
},
};
</script>
```
对于多页选择数据回显,可以在Table中使用selection-change事件来监听选中数据的变化,然后在翻页时将选中数据保存在一个数组中。例如:
```html
<template>
<div>
<el-table
:data="tableData"
:row-key="row => row.id"
v-loading="loading"
v-model="selectedItems"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
</el-table>
<el-pagination
:current-page="currentPage"
:page-size="pageSize"
:total="total"
@current-change="handlePageChange">
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
tableData: [],
selectedItems: [],
currentPage: 1,
pageSize: 10,
total: 0,
selectionList: [],
};
},
methods: {
handleSelectionChange(selection) {
this.selectionList[this.currentPage] = selection;
},
handlePageChange(page) {
this.currentPage = page;
if (!this.selectionList[page]) {
this.selectionList[page] = [];
}
this.selectedItems = this.selectionList[page];
},
},
};
</script>
```
这样就可以实现多页选择数据回显,并且分页记录保存选中的数据了。
阅读全文