微信小程序之下拉刷选、上拉加载

import request from '../../utils/request.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    settlementList: [],
    page: 1,
    totalPages: 1
  },

  getSettlementList: function (pageNo, override) {
    this.loading = true
    return request('settlement/list?pages=' + pageNo, 'get', {}).then(res => {
      const list = res.data.data.data
      this.setData({
        page: res.data.data.pages,
        totalPages: res.data.data.total_count,
        settlementList: override ? list : this.data.settlementList.concat(list),
        moreLoading: false
      })
    }).catch(err => {
      console.log(err)
    }).then(() => {
        this.loading = false
      })
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getSettlementList(1, true)
  },
  
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    if (!this.loading) {
      wx.showNavigationBarLoading()
      this.getSettlementList(1, true).then(() => {
        // 处理完成后,终止下拉刷新
        wx.stopPullDownRefresh()
        wx.hideNavigationBarLoading()
      })
    }
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.loading && this.data.page < this.data.totalPages) {
      wx.showLoading({
        title: '玩命加载中',
      })
      this.getSettlementList(this.data.page + 1).then(() => {
        wx.hideLoading();
      })
    }

    if (this.loading && this.data.page <= this.data.totalPages) {
      this.setData({
        moreLoading: true
      })
    } else {
      this.setData({
        moreLoading: false,
        loaded: true
      })
    }
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值