微信小程序下拉到底部,触发事件无限加载

微信小程序 · Fecmall · 于 3年前 发布 · 2745 次阅读

可以使用微信小程序的 scroll-view

https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

1.wxml

<scroll-view hidden="{{orderList ? false : true}}" class="goods-container" bindscrolltolower="getOrderList" scroll-y="true" style = "height:100%;position: relative;" scroll-into-view="{{toView}}" scroll-with-animation = "true" >


</scroll-view>

注意:css必须加入

page{
	height:100%
}

如果 scroll-view的上层有view标签,必须设置css height:100%, 否则无法触发

2.上面的执行将触发函数getOrderList

例子:

getOrderList: function () {
    console.log("getOrderList");
    // 获取订单列表
    wx.showLoading();
    var that = this;
    that.setData({
      page: that.data.page + 1
    });
    var requestStatus = that.data.currentType;
    var wxRequestOrderStatus = '';
    if (requestStatus == 0) {
      wxRequestOrderStatus = 'all'
    } else {
      wxRequestOrderStatus = requestStatus -1;
    }
    //this.getOrderStatistics();
    wx.request({
      url: app.globalData.urls + '/customer/order/index',
      data: {
        wxRequestOrderStatus: wxRequestOrderStatus,
        p: that.data.page,
        withItems: 1
      },
      header: app.getRequestHeader(),
      success: (res) => {
				console.log(res)
        wx.hideLoading();
        if (res.data.code == 200) {
          var orderList = res.data.data.orderList;
          var orderListThis = that.data.orderList;
          if (orderList) {
            for (var x in orderList) {
              var order = orderList[x];
              var order_status = order.order_status
              var statusStr = '';
              var status = 0;
              if (order_status == 'payment_pending' || order_status == 'payment_processing') {
                statusStr = that.data.language.order_wait_pay  //'待支付'
                status = 0
              } else if (order_status == 'payment_canceled' ) {
                statusStr = that.data.language.payment_canceled  //'已取消'
                status = -1
              } else if (order_status == 'canceled') {
                statusStr = that.data.language.canceled  //'已取消'
                status = -2
              } else if (order_status == 'payment_confirmed') {
                statusStr = that.data.language.order_payment_confirmed   //'已支付待审核'
                status = 1
              } else if (order_status == 'processing') {
                statusStr = that.data.language.order_wait_deliver  //'待发货'
                status = 2
                
              } else if (order_status == 'dispatched') {
                statusStr = that.data.language.pending_receipt  //'已发货待确认'
                status = 3
              } else if (order_status == 'received') {
                statusStr = that.data.language.order_received //'已收货'
                status = 4
              } else if (order_status == 'completed') {
                statusStr = that.data.language.order_complete //'已完成'
                status = 5
              } 
              orderListThis.push({
                statusStr: statusStr,
                id: order.order_id,
                status: status,
                orderNumber: order.increment_id,
                is_reviewed: order.is_reviewed,
                dateAdd: order.created_at,
                remark: order.remark,
                amountReal: order.grand_total,
                product_items: order.item_products,
                currency_symbol: order.currency_symbol
              })
            }
          }
          that.setData({
            orderList: orderListThis,
            //logisticsMap: res.data.data.logisticsMap,
            //goodsMap: res.data.data.goodsMap
          });
        } else {
          this.setData({
            orderList: null,
            //logisticsMap: {},
            //goodsMap: {}
          });
        }
        app.saveReponseHeader(res);
      }
    })
  },
 ```







共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics