微信小程序上拉加载

请先看Promise分装wx.request,否则可能看不懂以下内容

	如const app=getApp()
	  app.http.list('pop',this.data.pageNo).then(res => {}
	  点击上方一步一步走
<scroll-view scroll-y lower-threshold="100" bindscrolltolower="scrollToLower" style="height: 100vh;">
//中间是数据

  <view style="text-align: center;margin: 10px;">
   <view wx:if="{{loading}}">加载中...</view>
    <view wx:if="{{noMore}}">没有更多了</view>
    <view wx:if="{{loadingFailed}}">数据加载失败,请重试</view>
  </view>
</scroll-view>
// pages/home/home.js
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    list: [],
    pageNo: 1,
    loading: false,
    loadingFailed: false,
    noMore: false,
  },
  //到达底部
  scrollToLower: function (e) {
    if (!this.data.loading ){
      this.setData({
        loading: true,
        pageNo: this.data.pageNo + 1
      })
      this.getData(true);
    }
  },
    //请求数据
    getData(isPage) {
      //请求
      app.http.list('pop',this.data.pageNo).then(res => {
        this.setData({
          loading: false
        })
        // if (err) {//返回失败
        //   this.setData({
        //     loadingFailed: true
        //   })
        //   return false;
        // }
        if (res.data.data.page ) {
          if (isPage) {
            //下一页的数据拼接在原有数据后面
            this.setData({
              list: this.data.list.concat(res.data.data.list)
            })
          } else {
            //第一页数据直接赋值
            this.setData({
              //list: res.data.data.list
            })
          }
          //如果返回的数据为空,那么就没有下一页了
          if (res.data.data.list.length == 0) {
            this.setData({
              noMore: true
            })
          }
        } else {
          //返回失败
          this.setData({
            loadingFailed: true
          })
        }

      })

    },

})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值