微信小程序?qū)崿F(xiàn)下滑到底部自動翻頁功能
前言
這段時間接了一個微信小程序項目,從此打開小程序的新世界大門。然后發(fā)現(xiàn)使用頁碼進行翻頁已經(jīng)不適用于手機app,我們?nèi)粘V袑嵱玫氖謾Capp或者小程序進行翻頁一般都是使用底部后下拉的方式。
解決思路
我發(fā)現(xiàn)微信小程序遠程組件提供了一個scroll-view(可滾動視圖區(qū)域),這個組件中有個屬性,bindscrolltolower能夠監(jiān)聽區(qū)域內(nèi)滑到了最后一個位置。這就能用來解決和實現(xiàn)我們提出的問題。當用戶滑到最后一個元素,觸發(fā)函數(shù),我們在該函數(shù)中請求下一頁的數(shù)據(jù),然后追加到展示列表里。ps:需要一個變量來存儲當前頁碼
實現(xiàn)
wxml:
<scroll-view class="scroll_view" scroll-y bindscrolltolower="nextPage"> <view style="height:100vh"> <block wx:for="{{lists}}" wx:for-index="index" wx:for-item="item" wx:key="unique"> <view style="height:10vh;border:1rpx solid red"> {{item}} </view> </block> </view> </scroll-view>
wxss:
.scroll_view{ height:100vh; }
js:
Page({ data: { lists: [], page: 1 }, //監(jiān)聽是否滑到底部 nextPage: function () { let new_lists = []; let page = this.data.page; let startindex = page * 10 + 1; console.log("第" + page + "頁滑到底部了,請求第" + (page + 1) + "頁"); page += 1; //模擬請求 for (let i = startindex; i <= startindex + 9; i++) { new_lists.push(i); } this.setData({ lists: this.data.lists.concat(new_lists), page: page }); }, onLoad: function (options) { let lists = []; //模擬請求 for (let i = this.data.page; i <= this.data.page + 9; i++) { lists.push(i) } this.setData({ lists: lists, }); }, })
效果:
說明
我這里沒有做判斷是否請求到最后一頁,我們一般后臺邏輯是當請求當前頁碼為空時說明上一頁已經(jīng)是最后一頁了。我們可以在nextPage函數(shù)論進行相應的邏輯判斷處理,我這里就不展示了,大家自己實現(xiàn),不會的給我留個言。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JavaScript實現(xiàn)tab欄切換的幾種常用方法
這篇文章主要給大家介紹了關于JavaScript實現(xiàn)tab欄切換的幾種常用方法,在Web開發(fā)中Tab切換是一個常見的功能,它允許用戶在不同的頁面部分之間進行切換,需要的朋友可以參考下2023-12-12JavaScript中Object、map、weakmap的區(qū)別分析
這篇文章主要介紹了JavaScript中Object、map、weakmap的區(qū)別分析,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-12-12ionic2打包android時gradle無法下載的解決方法
這篇文章主要為大家詳細介紹了ionic2打包android時gradle無法下載的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04