vue el-table数据下拉加载全选被清空
时间: 2023-10-06 07:04:40 浏览: 108
使用VUE的el-table标签的_span-method=_arraySpanMethod_合并列中重复的单元格.md
可能是因为数据重新加载时,全选状态被重置了。您需要在加载新数据后,重新设置全选状态。以下是一个示例:
```vue
<template>
<div>
<el-table
:data="tableData"
v-loading="loading"
@selection-change="handleSelectionChange"
>
<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>
<el-button @click="loadMore">加载更多</el-button>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [],
loading: false,
selectedRows: [] // 记录选中的行
};
},
methods: {
async loadData() {
// 加载数据
this.loading = true;
const data = await fetch("/api/data");
this.tableData = this.tableData.concat(data);
this.loading = false;
// 重新设置全选状态
this.$refs.table.clearSelection();
this.$nextTick(() => {
this.$refs.table.toggleAllSelection();
});
},
handleSelectionChange(rows) {
this.selectedRows = rows;
},
loadMore() {
this.loadData();
}
}
};
</script>
```
在 `loadData` 方法中,先清空已选中的行,然后使用 `$nextTick` 在 DOM 更新后重新设置全选状态。这样就能保证每次加载新数据时,全选状态都正确。
阅读全文