本篇文章為大家介紹一下小程式中實作下拉刷新和上拉載入功能的方法,希望對大家有幫助!
在進行清單資料展示的時候,如果資料比較多或更新比較快,就需要提供上拉刷新和下拉載入的功能,讓提升使用者的體驗。 【相關學習推薦:小程式開發教學】
下拉刷新及上拉載入wxml檔
當我們使用scroll-view滑動當元件展示清單時,其本身就存在下拉刷新和上拉加載的觸發函數
<scroll-view class="scroll" scroll-y="{{true}}" upper-threshold="50" bindscrolltoupper="refresh" style="height:700px"> <l-loadmore show="{{upfresh}}" bindscrolltolower="getMore" type="loading" loading-text="拼命刷新中"> </l-loadmore> <l-loadmore show="{{downfresh}}" type="loading" loading-text="拼命加载中"> </l-loadmore>
- scroll-y: 是否允許縱向滾動,預設為false,這裡我們設定為true
- #upper-threshold: 距頂部/左邊多遠時,觸發scrolltoupper 事件(下拉刷新)
- bindscrolltoupper:滾動到頂部/左邊時觸發,這裡設置滾動到頂部需要觸發的函數
- bindscrolltolower:滾動到頂部/右邊時觸發
#引入line-ui框架
這裡我使用的下拉刷新和上拉加載展示組件是lin-ui框架提供的,這裡我說下如何引入lin-ui框架:
//在小程序项目目录中执行下面的函数 npm install lin-ui
然後在需要引入元件的頁面的json檔案中進行引入
"usingComponents": { "l-loadmore":"/miniprogram_npm/lin-ui/loadmore/index", "l-loading":"/miniprogram_npm/lin-ui/loading/index", },
這樣lin-ui元件就引入成功了
js程式碼編寫
data: { downfresh:false,//底部加载展示控制 upfresh:false//顶部加载展示控制 },
首先在data中設定載入元件是否顯示,預設都不顯示
下拉刷新js程式碼
//下拉刷新 refresh(){ if(this.data.upfresh){ console.log("还没刷新完成") return; } var that = this; this.setData({ upfresh: true, // upfresh:false }) setTimeout(function() { //updateData为自己的数据更新逻辑代码 that.updateData(true,()=>{ that.setData({ upfresh: false, }); }) // wx.hideLoading(); console.info('下拉刷新加载完成.'); }, 500); }, //更新数据 updateData:function(tail, callback) { var that = this; console.log("updatedata-=-=seea"+that.data.searchValue) wx.request({ url: app.gBaseUrl + 'compony-detail/page', method: 'GET', data: { page: 0, count: 20, componyname:that.data.searchValue }, success: (res) => { this.setData({ componys: res.data }) if (callback) { callback(); } } }) },
上拉載入js程式碼
/** * 滑动到底部加载更多 */ getMore(){ // downloadingData=this.data.downloadingData if(this.data.downfresh){ console.log("还没加载完成") return; } var that = this; this.setData({ downfresh: true, // upfresh:false }) this.setData({ downloadingData: true // upfresh:false }) setTimeout(function() { that.loadData(true,()=>{ that.setData({ downfresh: false }); }) // wx.hideLoading(); console.info('上拉数据加载完成.'); }, 1000); }, loadData: function(tail, callback) { var that = this; wx.request({ url: app.gBaseUrl + 'compony-detail/page', method: 'GET', data: { page: that.data.componys.length, count: 20, componyname:that.data.searchValue }, success: (res) => { // console.log(JSON.stringify(res.data)) that.setData({ componys: that.data.componys.concat(res.data), }); if (callback) { callback(); } } }) },
整個下拉刷新和上拉加載的功能我們就已經實現了,主要就是利用到了scroll-view的組件特性,根據觸發的時機來控制記載組件的顯隱,整體實現並不是很難,具體程式碼可根據自己的實際情況做適當調整哦。
更多程式相關知識,請造訪:程式設計影片! !
以上是淺談小程式中下拉刷新和上拉載入功能怎麼實現? (附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!
陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
在哪裡可以找到原子中的起重機控制鑰匙卡
3 週前ByDDD
節省R.E.P.O.解釋(並保存文件)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影 - 如何找到鐵匠,解鎖武器和裝甲定制
4 週前ByDDD

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)