可以使用微信小程序的 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);
}
})
},
```