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

2023-06-20 15:18:28 浏览数 (1)

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

下拉刷新

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

上拉加载更多

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

模板

返回最后ID

请求需要带上最后的IDlast_id,及行数row

代码语言:javascript复制
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,
            })
        })
    }
})

0 人点赞