vant实现上拉刷新,下拉加载
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="onLoad"
>
</van-list>
</van-pull-refresh>
data() {
return {
loading: false,
finished: false,
refreshing: false,
pageNum: 1,
pageSize: 10,
serviceList: [],
filters: {},
},
methods: {
onRefresh(msg) {
this.finished = false;
this.loading = true;
this.pageNum = 1;
this.onLoad();
},
onLoad() {
if (this.refreshing) {
this.serviceList = [];
this.refreshing = false;
}
let params = Object.assign({}, this.filters);
params.pageNum = this.pageNum;
params.pageSize = this.pageSize;
pageApi.orderProgressFindList(params).then(
result => {
if (result) {
if (result.total >= 10) {
let list = result.data;
let total = 0;
if ((list.total * 1) % 10 == 0) {
total = (result.total * 1) / 10;
} else {
total = parseInt((result.total * 1) / 10) + 1;
}
if (this.pageNum > 1) {
this.serviceList = [...this.serviceList, ...list];
} else {
this.serviceList = list;
}
if (this.pageNum === total) {
this.finished = true;
this.finishedText = "- 没有更多了-";
}
if (total > this.pageNum) {
this.pageNum++;
this.loading = false;
}
} else {
this.serviceList = result.data;
this.finished = true;
this.finishedText = "- 没有更多了-";
}
}
},
function(err) {}
);
},
closeSearchPop() {
this.pageNum = 1;
this.onRefresh();
}
}