element ui表格有分页,排序只排了当前页,想要排整个输出的数据应该怎么做?
<el-table v-loading.body="loading" :data="curGroupList" stripe="" style="width:100%" default-sort="{prop: 'date', order: 'descending'}">
<el-table-column prop="F_Caption" label="名称" sortable>
</el-table-column>
<el-table-column prop="F_Caption02" label="类型" sortable>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination v-bind:current-Page="pageIndex" v-bind:page-size="pageSize" :total="total" layout="total,sizes,prev,pager,next,jumper"
v-bind:page-sizes="pageSizes" v-on:size-change="sizeChange" v-on:current-change="pageIndexChange">
</el-pagination>
js部分
export default {
data() {
return {
loading: true,
groupList: [],
curGroupList: [],
showModal: 0,
DetailList: [],
pageIndex: 1,
pageSize: 10,
total: 0,
pageSizes: [10, 20, 50, 100]
}
},
methods: {
goToPerson: function(groupcode) {
this.$router.push({
path: 'person',
query: {
code: groupcode
}
});
},
sizeChange: function(pageSize) {
this.pageSize = pageSize;
this.getPageData();
},
pageIndexChange: function(pageIndex) {
this.pageIndex = pageIndex;
this.getPageData();
},
getPageData() {
this.totalPage = Math.ceil(this.total / this.pageSize);
this.curGroupList = this.groupList.slice(this.pageSize * (this.pageIndex - 1), this.pageSize * this.pageIndex);
},
},
mounted: function() {
this.getGroupList();
}
}
前端分页的话,全数据重排应该要自己实现一下:
监听sort-change事件,然后对整个this.groupList重排序。sort-change事件有三个参数{ column, prop, order },够写排序用了。