• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

        微信小程序技巧完成:上滑加載下拉刷新

        微信小程序技巧完成:上滑加載下拉刷新

        更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

        微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
        微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。
        本篇文章給大家帶來的內容是關于微信小程序功能實現:上滑加載下拉刷新,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        之前談到文章列表的數據加載,是一次性全部加載,這樣是不友好的。這章介紹加載和刷新。

        先介紹在IDE中,怎么模擬上滑這個操作。開始我是用鼠標點擊文章列表,然后先上移動。結果一直沒有結果,以為是代碼寫的有問題。其實并不是,上滑,下拉這個操作,只需要用鼠標的滾輪即可。

        首先,我們先完成上滑和下拉這個功能。

        list.wxml文件:

        <view  class="page">
            <view class="page__bd">
                <!--用name 定義模版-->
                <template name="msgTemp">
                    <!--
                    1. scaleToFill : 圖片全部填充顯示,可能導致變形 默認
                    2. aspectFit : 圖片全部顯示,以最長邊為準
                    3. aspectFill : 圖片全部顯示,以最短邊為準
                    4. widthFix : 寬不變,全部顯示圖片
                    -->
                    <view  class="weui-panel__bd">
                        <navigator url="../detail/detail?id={{id}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
                            <view class="weui-media-box__hd weui-media-box__hd_in-appmsg">
                                <image class="weui-media-box__thumb" src="{{src}}" style="width: 60px; height: 60px;"/>
                            </view>
                            <view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
                                <view class="weui-media-box__title">{{title}}</view>
                                <view class="weui-media-box__desc">{{time}}</view>
                            </view>
                        </navigator>
                    </view>
                </template>
                
                <scroll-view scroll-top="{{scrollTop}}" style="height: {{windowHeight}}px; width: {{windowWidth}}px;" scroll-y="true" bindscrolltoupper="pullDownRefresh"  bindscroll="scroll" bindscrolltolower="pullUpLoad" class="weui-panel weui-panel_access">
                    <view class="weui-panel__hd">文章列表</view>
                        <view wx:for-items="{{msgList}}" wx:key="{{item.id}}">
                            <view class="kind-list__item">
                                <!--用is 使用模版-->
                                <template is="msgTemp" data="{{...item}}"/>
                            </view>
                        </view>
                </scroll-view>
                <view>
                    <loading hidden="{{hidden}}" bindchange="loadingChange">
                    加載中...
                    </loading>
                </view>
            </view>
            <view class="page__ft">
            </view>
        </view>

        在原來的基礎上,多用了一個scroll-view (官方文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/component/scroll-view.html) 我是加載文章列表的上面,

        第一步:要設置允許它縱向滾動 scroll-y = true ,

        第二步:要給一個固定高度,文檔中也明確要求了這點。這里是動態獲取手機配置的高度和寬度。

        第三步:要設置bindscrolltoupper (下拉) 和 bindscrolltolower (上滑) 響應的方法。

        第四步:要設置 scroll-top (用于定位) 和 bindscroll (滾動的時候執行,和前者一起用可達到定位效果)

        第五步:加載頁面icon設置,直接copy即可。

        list.js 文件:

        // pages/list/list.js
        var app = getApp();
        
        // 當前頁數
        var pageNum = 1;
        
        
        // 加載數據
        var loadMsgData = function(that){
          that.setData({
            hidden:false
          });
          var allMsg = that.data.msgList;
          app.ajax.req('/itdragon/findAll',{
            "page":pageNum , "pageSize" : 6
          },function(res){  
            // 不能直接 allMsg.push(res); 相當于list.push(list);打亂了結構
            for(var i = 0; i < res.length; i++){
              allMsg.push(res[i]);
            }
            that.setData({
              msgList:allMsg
            });
            pageNum ++;
            that.setData({
              hidden:true
            });
          });
        }
        
        Page({
          data:{
            msgList:[],
            hidden:true,
            scrollTop : 0,
            scrollHeight:0
          },
          onLoad:function(options){
            // 頁面初始化 options為頁面跳轉所帶來的參數
            var that = this;
            wx.getSystemInfo({
              success: function(res) {
                that.setData( {
                  windowHeight: res.windowHeight,
                  windowWidth: res.windowWidth
                })
              }
            });
            loadMsgData(that);
          },
          onReady:function(){
            // 頁面渲染完成
          },
          onShow:function(){
            // 頁面顯示
          },
          // 下拉刷新數據
          pullDownRefresh: function() {
            var that = this;
            pageNum = 1;
            that.setData({
              msgList : [],
              scrollTop : 0
            });
            loadMsgData(that);
          },
        
          // 上拉加載數據 上拉動態效果不明顯有待改善
          pullUpLoad: function() {
            var that = this;
            loadMsgData(that);
          },
          // 定位數據
          scroll:function(event){
            var that = this;
            that.setData({
              scrollTop : event.detail.scrollTop
            });
         },
          onHide:function(){
            // 頁面隱藏
          },
          onUnload:function(){
            // 頁面關閉
          }
        })


        第一點:如果對 app.ajax.req 里面的方法看不懂,可以參考:微信小程序request請求 (有對應接口源碼)

        第二點:因為是分頁查詢,需要把上一次查詢內容保存,所以用list.push 拼接。

        第三點:每次查詢后,頁數都要加一,并且加載前要顯示加載的icon,加載結束要隱藏。

        第四點:頁面加載初始化獲取設置信息,官方文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/api/systeminfo.html#wxgetsysteminfoobject

        第五點:下拉的邏輯,將頁數設置為一,并清空msgList 內容,定位距頂部0px,最后調用加載數據的方法。

        第六點:上滑的邏輯,直接調用。因為定位點在scorll方法中已經賦值。

        第七點:如果調用我的接口,是不能用appid的,需要重新創建一個項目,選擇無appid。

        這樣加載和刷新就完成了,雖然對刷新很不滿意,網上找了很多例子都是這樣,如果有好的效果,請賜教。

        相關推薦:

        微信小程序中的下拉刷新和上拉加載的實現方法詳解

        微信小程序實現下拉加載和上拉刷新詳細講

        以上就是微信小程序功能實現:上滑加載下拉刷新的詳細內容,更多請關注php中文網其它相關文章!


        小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产一二三四区乱码免费| 国产色婷婷精品免费视频| 三年片在线观看免费大全电影| 日韩人妻一区二区三区免费| 2021久久精品免费观看| 日日夜夜精品免费视频| 在线精品亚洲一区二区三区| 久久精品国产精品亚洲毛片| 亚洲天然素人无码专区| 国产精品免费久久| 免费无码av片在线观看| 99久久免费观看| 成人a视频片在线观看免费| 亚洲AV伊人久久青青草原| 亚洲AV日韩AV高潮无码专区| 亚洲精品无码久久久久牙蜜区| 国产成人精品免费大全| 午夜宅男在线永久免费观看网| 亚洲精品A在线观看| 亚洲乱码日产精品BD在线观看| 五月婷婷免费视频| 一二三四免费观看在线电影| 中文字幕在线亚洲精品| 亚洲国产欧美国产综合一区 | 国产又黄又爽又猛免费app| va亚洲va日韩不卡在线观看| 亚洲网站免费观看| 九九久久国产精品免费热6| 免费看美女裸露无档网站| 亚洲综合av永久无码精品一区二区| 亚洲一区二区三区高清在线观看| 国产真人无码作爱视频免费| 国产成人无码区免费A∨视频网站| 久久精品蜜芽亚洲国产AV| 老妇激情毛片免费| 美女视频黄a视频全免费| 亚洲嫩模在线观看| 国产免费久久精品99久久| www国产亚洲精品久久久| 亚洲国产欧美日韩精品一区二区三区| 18未年禁止免费观看|