<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-empty description="暂无数据" v-show="emptyShow"/>
<van-list
v-model="loading"
:finished="finished"
finished-text=""
@load="onLoad"
>
<div class="item"
v-for="(item,index) in list"
:key="index"
@click="toDetail(item)"
>{{item.name}}</div>
</van-list>
</van-pull-refresh>
data() {
return {
SearchParams: {
size: 10,
page: 1,
total: 0
},
loading: false,
finished: false,
refreshing: false,
list: [],
emptyShow: false,
}
},
onLoad() {
if (this.refreshing) {
this.list = [];
this.refreshing = false;
}
const params = new FormData()
params.append('currentPage', this.SearchParams.page)
params.append('pageSize', this.SearchParams.size)
listQuery(params).then(res => {
this.SearchParams.page++
this.list = this.list.concat(res.data.data)
if (this.list.length == 0) {
this.emptyShow = true;
} else {
this.emptyShow = false;
}
this.SearchParams.total = res.data.count
this.loading = false;
if (this.list.length >= this.SearchParams.total) {
this.finished = true;
}
})
},
onRefresh() {
this.finished = false;
this.SearchParams.page = 1
this.loading = true;
this.onLoad();
},