以下基本框架
{{cancelValue}}{{item.title}}{{item.intro}}已显示所有数据...
以下代码执行到底部事件操作,执行获得数据,頁码加一,不个存当前頁码,等返回数据时统一保存,以提高执行速度。
//模拟加载数据onScrollLower: function() { var that = this; if (!that.data.pageEnd) { that.getarticle(that.data.categoryId, that.data.pageIndex+1, that.data.keys,false); wx.showNavigationBarLoading(); setTimeout(() => { wx.hideNavigationBarLoading(); wx.stopPullDownRefresh(); }, 1200);}
以下代码执行获得新数据,并合并操作
getarticle: function (sortMode, pageIndex, keys,clear) { var that = this; request.req(uri, { sortMode: sortMode, keys: keys, CurrentPage:pageIndex, PageSize:2 }, (err, res) => { var newslist = res.data; if (that.data.article.length>0) { if (newslist.length==0) { that.data.pageEnd=true; } else { that.data.pageEnd=false; if (clear) { that.data.article=newslist; } else { for (var i = 0; i < newslist.length; i++) { that.data.article.push(newslist[i]) } } } } else { that.data.article=newslist; } that.setData({ article: that.data.article, pageIndex:pageIndex, pageEnd:that.data.pageEnd }); }); }
以上操作,要判断原内容是否为空,新内容是否为空,为空说明以到最后一頁,以后不再执行拉到底请求数据,clear判断是否要清空原有内容,当搜索关键词有新内容时,要清空原有文章列表。