小程序分页新写法

在这里插入图片描述

// pages/query/query.js
import {
  request
} from '../../utils/request';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabClickIndex: '',
    page: 1,
    limit: 10,
    listData: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },
  getList() {
    request('/api/list', 'get', {
      page: this.data.page,
      limit: this.data.limit,
      status: this.data.tabClickIndex
    }).then((res) => {
      console.log(res);
      if (res.msg === 'success') {
        const newData = res.data;
        // 将新数据拼接到现有数据上
        this.setData({
          listData: this.data.listData.concat(newData),
          // 根据返回的总条数和当前页计算是否有更多数据 hasMore为false 返回的数据没有那你多了 则没有更多数据
          hasMore: newData.length === this.data.limit,
        });
      }
    })
  },
  listItemClcik() {
    wx.navigateTo({
      url: '/pages/Details/Details',
    })
  },
  tabClcik(e) {
    console.log(e);
    this.setData({
      page: 1,
      listData: [],
      tabClickIndex: e.target.dataset.index
    })

    wx.pageScrollTo({
      scrollTop: 0,
      duration: 300
    })

    this.getList()
    console.log(this.data.tabClickIndex, 'tabClickIndex');
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    console.log('onReachBottom');
    if (this.data.hasMore) {
      this.setData({
        page: this.data.page + 1
      })
      this.getList()
    } else {
      wx.showToast({
        title: '没有更多数据啦!',
        icon: 'none'
      })
    }
    console.log(this.data.page);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

相关推荐

  1. 原生程序/上拉加载(通过页面生命周期)

    2024-06-18 18:32:02       30 阅读
  2. 程序写法和vue有啥区别?

    2024-06-18 18:32:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 18:32:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 18:32:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 18:32:02       82 阅读
  4. Python语言-面向对象

    2024-06-18 18:32:02       91 阅读

热门阅读

  1. 闲鱼商品详情API:深入解析与应用指南

    2024-06-18 18:32:02       24 阅读
  2. Gradle相关概念

    2024-06-18 18:32:02       23 阅读
  3. Redis 键(key)

    2024-06-18 18:32:02       32 阅读
  4. .net core使用EPPlus设置Excel的页眉和页脚

    2024-06-18 18:32:02       25 阅读
  5. SqlServer添加索引

    2024-06-18 18:32:02       25 阅读
  6. cephfs的形式使用ceph,大致思路

    2024-06-18 18:32:02       30 阅读
  7. Github 2024-06-16 php开源项目日报 Top10

    2024-06-18 18:32:02       29 阅读
  8. UE5 发射物目标追踪

    2024-06-18 18:32:02       33 阅读
  9. MYSQL

    MYSQL

    2024-06-18 18:32:02      24 阅读
  10. C#面:请解释C#接口的显式实现有什么意义

    2024-06-18 18:32:02       32 阅读