微信小程序-上拉加载更多和下拉刷新

微信小程序-上拉加载更多和下拉刷新

下拉刷新

  1. 页面配置文件中配置"enablePullDownRefresh": true开启下拉刷新
{
    "usingComponents": {},
    "navigationBarTitleText": "订单列表",
    "enablePullDownRefresh": true
}
  1. 设置onPullDownRefresh方法
    在用户下拉时会调用onPullDownRefresh方法
    在完成后需要调用wx.stopPullDownRefresh()关闭刷新状态
Page({
    data: {
        list:[],
    },
    onLoad(options) {
        this.getList()
    },
    // 下拉刷新时调用
    onPullDownRefresh(){
    	this.getList()
    },
    getList(){
           setTimeout(()=>{
            wx.stopPullDownRefresh()
        },500) 	
    },
})

上拉加载更多

  1. 可以在页面配置文件中配置"onReachBottomDistance":50来设置触发上拉加载的距离,单位为px默认:50
{
    "usingComponents": {},
    "navigationBarTitleText": "订单详情",
    "onReachBottomDistance":100
}
  1. 设置onReachBottom方法
    在用户上拉加载时会调用onReachBottom方法
import api from "../../../utils/api/index"
Page({
    data: {
        list:[],
    },
    onLoad(options) {
        this.getList()
    },
    // 上拉加载调用
    onReachBottom(){
        this.getList()
    },
    getList(){
    }
})

模板

返回最后ID

请求需要带上最后的IDlast_id,及行数row
在这里插入图片描述

import api from "../../../utils/api/index"
Page({
    data: {
        list:[],
        last_id:0,
        row: 10,
        is_have:true
    },
    onLoad(options) {
        this.getList()
    },
    onPullDownRefresh(){
        this.setData({
            last_id:0,
            is_have:true,
            list:[]
        })
        this.getList()
    },
    onReachBottom(){
        if(this.data.is_have){
            this.getList()
        }  
    },
    getList(){
        api.getOrderList({last_id:this.data.last_id, row: this.data.row}).then(res=>{
            // ...将元素将一个数组展开为单独的元素,逐个添加
            this.data.list.push(...res.list)
            // 如果返回的元素比行数少,表示没有结果了
            if(res.list.length < this.data.row){
                this.setData({is_have:false})
            }
            this.setData({
                list: this.data.list,
                last_id:res.last_id,
            })
        })
    }
})
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级小的大杯柠檬水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值