中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現小程序中下拉刷新和上拉加載功能

發布時間:2021-10-26 11:04:53 來源:億速云 閱讀:154 作者:iii 欄目:移動開發

這篇文章主要介紹“如何實現小程序中下拉刷新和上拉加載功能”,在日常操作中,相信很多人在如何實現小程序中下拉刷新和上拉加載功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何實現小程序中下拉刷新和上拉加載功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

下拉刷新及上拉加載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框架:

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的組件特性,根據觸發的時機來控制記載組件的顯隱,整體實現并不是很難,具體代碼可根據自己的實際情況做適當調整哦。

到此,關于“如何實現小程序中下拉刷新和上拉加載功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

霍山县| 株洲县| 方城县| 昔阳县| 苍溪县| 东台市| 崇文区| 遵义市| 图木舒克市| 保亭| 吉安市| 孟连| 行唐县| 丰县| 济阳县| 平果县| 乌鲁木齐市| 兴安盟| 神农架林区| 崇信县| 宁海县| 柏乡县| 孝义市| 花莲市| 湄潭县| 漯河市| 石楼县| 定边县| 黄冈市| 安阳市| 神池县| 泸定县| 东平县| 博湖县| 从化市| 军事| 金阳县| 张家港市| 泸州市| 宜兰市| 溧阳市|