您好,登錄后才能下訂單哦!
小編這次要給大家分享的是微信小程序如何實現(xiàn)上拉加載功能,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
本文實例講述了微信小程序?qū)崿F(xiàn)上拉加載功能。分享給大家供大家參考,具體如下:
進入頁面,加載初始數(shù)據(jù),當(dāng)向上拖動頁面至底部,自動加載新的數(shù)據(jù),即上拉加載更多數(shù)據(jù)。
index.wxml
<!-- 數(shù)據(jù)列表 --> <view wx:for="{{listdata}}" wx:key="listdata" class='listitem'> <view class='title'>{{item.title}}</view> <view class='title'>資源ID:{{item.id}}</view> <image src="{{item.coverimg}}" class='cover'></image> </view> <!-- 如果還有更多數(shù)據(jù)可以加載,則顯示玩命加載中 --> <view class="load-more-wrap"> <block wx:if="{{hasMore}}"> <view class="load-content"> <text class="weui-loading"/><text class="loading-text">玩命加載中</text> </view> </block> <!-- 否則顯示沒有更多內(nèi)容了 --> <block wx:else> <view class="load-content"> <text>沒有更多內(nèi)容了</text> </view> </block> </view>
index.js
Page({ data: { listdata:[], //數(shù)據(jù) moredata: '', p:0, //當(dāng)前分頁;默認第一頁 hasMore:true //提示 }, //加載初始數(shù)據(jù) onLoad: function (options) { var that = this; //初始頁面 var p = that.data.p; this.loadmore(); }, //觸底事件 onReachBottom:function(){ var that = this; //檢查是否還有數(shù)據(jù)可以加載 var moredata = that.data.moredata; //如果還有,則繼續(xù)加載 if (moredata.more != 0) { this.loadmore(); //如果沒有了,則停止加載,顯示沒有更多內(nèi)容了 }else{ that.setData({ "hasMore": false }) } }, //發(fā)起請求 loadmore:function(){ //加載提示 wx.showLoading({ title: '加載中', }) var that = this; //頁面累加 var p = ++that.data.p; //請求服務(wù)器 wx.request({ url: '你的服務(wù)器/server.php?page=' + p, data: { "json": JSON.stringify({ "p": p }) }, method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, //請求成功,回調(diào)函數(shù) success:function(res){ //隱藏加載提示 wx.hideLoading(); //判斷市局是否為空 if (res.data != 0) { that.setData({ //把新加載的數(shù)據(jù)追加到原有的數(shù)組 "listdata": that.data.listdata.concat(res.data), //加載數(shù)據(jù) "moredata": res.data, "p":p }) } else { that.setData({ "hasMore":false }) } } }) } })
1、url修改為你的服務(wù)端鏈接,格式是
http:域名/目錄/?page=頁碼
例如:
http://www.baidu.com/api/data.php?page=1
頁碼是可變的,所以聲明一個變量p,所以就是
`url: 'http://www.baidu.com/api/data.php?page' + p,`
index.wxss
.listitem{ width: 90%; height: 155px; background: rgba(0, 0, 0, 0.2); margin:10px auto; text-align: center; position: relative; color:#fff; } .listitem .cover{ width:100%; height:155px; position: absolute; top: 0; left: 0; z-index: -100; } .load-more-wrap .load-content{ text-align: center; margin:30px auto 30px; color:#ccc; font-size: 15px; }
返回json數(shù)組的形式,例如
[ {"id":"1","title":"標(biāo)題1","coverimg":"url1"}, {"id":"2","title":"標(biāo)題2","coverimg":"url2"}, {"id":"3","title":"標(biāo)題3","coverimg":"url3"}, {"id":"4","title":"標(biāo)題4","coverimg":"url4"}, {"id":"5","title":"標(biāo)題5","coverimg":"url5"} ]
看完這篇關(guān)于微信小程序如何實現(xiàn)上拉加載功能的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。