您好,登錄后才能下訂單哦!
小編給大家分享一下小程序中下拉刷新頁面的功能如何實現,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
微信小程序中,通過下拉刷新頁面是基本操作,在當前頁面排滿的情況下繼續下拉加載更多內容。小程序和網頁都可以實現這一功能,不同的是小程序界面有能實現下拉刷新功能的API,只需從系統調用即可。
通過查看微信開發文檔可知,enablePullDownRefresh 這個屬性設置為true。就默認開啟了下拉刷新。enablePullDownRefresh可以寫在app.json 中 和頁面的xxx.json,兩者的區別是,app.json 是全局型的下拉刷新,而***.json 是單個頁面的下拉刷新,只能設置window相關的配置項,以決定本頁面的窗口表現,所以無需寫window這個鍵。另一種方法是,監聽scroll-view,自定義下拉刷新,scroll-view里面有一個bindscrolltoupper屬性,當滾動到頂部/左邊,會觸發 scrolltoupper 事件,所以我們可以利用這個屬性,來實現下拉刷新功能。
兩種方法都可以,第一種比較簡單,易上手,畢竟一些邏輯系統已經給你處理好了,第二種適合那種想要自定義下拉刷新樣式的小程序,我們講解電商,就用第一種,系統提供的就好,主要是教會大家怎么用。
1. home.json 參數配置
enablePullDownRefresh: true
我們哪個頁面需要下拉刷新,就在哪個頁面對應的xxx.json文件配置上面屬性,這個屬性從字面意思也可以知道,是否允許下拉刷新,當然,如何你不想一個個配置允許下拉刷新,你可以直接在全局變量app.json的window里面配置上面這個屬性,這樣整個項目都允許下拉刷新了,這個一定要加的,因為系統默認是不具備下拉刷新功能的
home.js
//下拉刷新 onPullDownRefresh:function() { wx.showNavigationBarLoading() //在標題欄中顯示加載 //模擬加載 setTimeout(function() { // complete wx.hideNavigationBarLoading() //完成停止加載 wx.stopPullDownRefresh() //停止下拉刷新 },1500); },
onPullDownRefresh 下拉刷新事件監聽,具體看一下里面的代碼,wx.showNavigationBarLoading() 與wx.hideNavigationBarLoading() 這兩句話是用來控制小菊花的顯示和隱藏,由于我們現在還沒有講解網絡請求,所以我就模擬了一下網絡加載,通過setTimeout方法,寫一個時間延遲的方法,這個方法可以模擬網絡加載所消耗的時間,還有就是當網絡加載完成我們要停止下拉刷新wx.stopPullDownRefresh() 。
加載更多
實現加載更多也同理有兩種方式
1. 調用系統的API
2. 監聽scroll-view,bindscrolltolower滑動到底部的監聽
處理方式和下拉刷新略有不同,不過也大同小異。
home.js
onReachBottom: function () { console.log(\'加載更多\') setTimeout(() => { this.setData({ isHideLoadMore:true, recommends: [ { goodId: 7, name:\'.....\', url: \'....\', imageurl:\'......\', }, { goodId: 10, name:\'......\', url:\'......\', }, ], }) }, 1000) }
onReachBottom系統提供的觸底事件的監聽,和下拉刷新一樣,我們也是模擬一些數據,加了一個時間延遲的事件,isHideLoadMore,一個自定義的值,用來控制顯示和隱藏加載控件
home.wxml
正在加載
小程序中可以實現下拉刷新的方法還有其他,可以模仿H5網頁的做法,但微信小程序因為API接口的使用,在實現下拉刷新功能的時候就可以減輕開發人員負擔。
以上是“小程序中下拉刷新頁面的功能如何實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。