在手机端基本上列表类数据的展示是以下拉至底部,持续上拉后自动翻页显示数据的。并且若第二页没有数据则返回没有更多数据
基本实现手段
首先在主index页面底部引入官方的uni-load-more组件
<uni-load-more v-if="show" :status="status"></uni-load-more>
数据配置:
show: false,
status: "more",
page: 1,
queryType:"",
然后再本页面加入触底事件
onReachBottom: function() {
this.show = true
/* loading 5秒后恢复显示上拉显示更多的文字提示 */
this.status = "loading"
/* 开始请求数据 */
this.getData()
},
以前的做法是把请求来的数组或者对象进行赋值渲染 但是这种情况下需要改成一个大数组 然后进过请求不断地往里头推送数据
数据请求(由于项目,需要项目由运单状态的搜索查询,所以在请求开始阶段需要判断一下是否是同一个状态)
async getData() {
/* 判断是否是同一条件查询 若是则页数加一 若不是则将页数归为第二页 并且将改类型赋值给当下的参数 */
if (this.queryType != this.queryCriteria) {
this.queryType = this