首页 > 编程语言 >微信小程序加载更多

微信小程序加载更多

时间:2024-05-08 16:59:10浏览次数:17  
标签:function pageSize 微信 程序 res data page 加载

背景:
博客小程序开发,涉及博客列表加载更多需求。

前提:
接口:https://abc.com/api/xx?pageSize=xx&page=xx

view代码:

<view class="container">  
  <view wx:for="{{items}}" wx:key="id">  
    <text>{{item.cid}}--{{item.title}}</text>  
  </view>  
  <view class="pagination">  
    <button bindtap="loadMore" disabled="{{noMoreData}}">加载更多</button>  
  </view>  
</view>

CSS代码:

.container {  
  padding: 20rpx;  
}  
.pagination button {  
  margin-top: 20rpx;  
}

js代码:

Page({  
  data: {  
    items: [], // 存储分页数据的数组  
    page: 0, // 当前页码  
    pageSize: 10, // 每页大小  
    noMoreData: false // 是否没有更多数据  
  },  
  onl oad: function () {  
    this.loadData();  
  },  
  // 加载数据  
  loadData: function() {  
    const that = this;  
    var page = that.data.page + 1 ;
    var pageSize=that.data.pageSize;  
    this.setData({
      page
    })
    wx.request({  
      url: 'https://abc.com/api/xx&pageSize=' + pageSize + '&page=' + page, // 替换为你的服务器地址  
      method: 'GET',  
      success: function(res) {  
        var mydata = res.data;
        if(mydata.status === 200){
          const newData = that.data.items.concat(res.data.data); // 合并新数据到旧数据
          that.setData({  
            items: newData,  
            currentPage: res.data.currentPage,  
            noMoreData: res.data.data.length < that.data.pageSize // 如果没有返回足够的数据,则没有更多数据  
          });  
        }else {  
          // 处理错误  
          wx.showToast({  
            title: '获取数据失败',  
            icon: 'none'  
          });  
        }  
      },  
      fail: function(err) {  
        console.error(err);  
      }  
    });  
  },  
  // 加载更多数据  
  loadMore: function() {  
   // console.log(this.data.noMoreData)
    if (!this.data.noMoreData) {  
      this.setData({  
        currentPage: this.data.currentPage + 1  
      });  
      this.loadData();  
    }  
  }  
});

效果验证

更多支撑
请关注微信公众号:“yuan与张”

标签:function,pageSize,微信,程序,res,data,page,加载
From: https://www.cnblogs.com/ytyzhn/p/18180141

相关文章

  • 程序员副业创富:业余时间解锁首笔财富里程碑
    在这个充满机遇的数字时代,我,一个普通的程序猿,编程爱好者,终于在云端源想这个平台上收获了属于我的第一桶金。这是一个关于兼职、学习与成长的故事,希望能激发同在编程路上的你,勇敢迈出那一步。先晒晒我的首笔收入:一个普通的周末,我像往常一样,泡上一杯咖啡,坐在电脑前,漫无目的地浏览......
  • Python基础之程序与用户交互
    程序与用户交互【一】什么是与用户交互交互就是输入和输出input输入数据,print输出数据【二】为什么要与用户交互将计算机拟人化,实现像人一样能和用户进行交流我们需要一个平台,也就是计算机来支持用户实现数据的输入和输出【三】如何与用户交互【1】输入(input)(1)Python3......
  • 27.企业微信-L2
    importrequestsclassTestWework:deftest_get_token(self):self.corp_id="ww0500b1708efeb406"self.corp_secret="5fas7s3wQzC6k5W11SqZ1dxMcXvC57yKXi_NMVXu4pkBNY"self.base_url="https://qyapi.weixi11n.qq.......
  • 基于总线设备驱动模型的按键读取驱动程序
    本次实验基于总线设备驱动模型实现按键驱动程序的编写,给上层应用程序提供检测按键是否按下的操作接口,上层应用根据按键是否按下控制led的亮灭。所以上层应用程序会同时使用led和按键的驱动接口,但是对于下层驱动而言,这二者是分离的,因此只需要专注于编写按键驱动程序就可以了。在正......
  • java虚拟机内存结构——类加载器,运行时数据区,执行引擎,本地方法接口。《深入理解JAVA虚
    ##类加载器类加载器当Java程序需要使用某个类时,类加载子系统负责找到对应的.class文件,并将其加载到JVM的方法区中每一个类加载器,都拥有一个独立的类名称空间。只有在这两个类是由同一个类加载器加载的前提下才有意义##运行时数据区###线程共享####堆:内......
  • DevTutor 一款旨在帮助开发者使用 SwiftUI 创建出色应用程序的应用
    提供可复制的代码示例和相应的用户界面预览,以简化您的编码过程。此外,还包括了《Swift编程语言》官方中英文文档的本地离线预览。主要功能■提供可直接在您的项目中使用的样本代码■实时查看您的代码如何影响应用的外观■提供官方中英文Swift编程语言离线文档■探索第......
  • 设备驱动程序简介
    设备驱动程序简介概述:Linux驱动程序的核心:作为一个黑盒子,使某个特定硬件相应相应的内部编程接口,如posix。其需要隐藏体的工作细节。Linux驱动程序编写为什么简单:其是使独立于内核的其他部分而建立的,其是模块化的。驱动程序的作用驱动程序的妥协:在编写驱动程序所需要的时......
  • 程序员修炼之道阅读笔记2
    在工作中我们总会遇到难以解决的问题,这本书给我提供了一个思路。最重要的不是你在盒子里思考,还是在盒子外面思考,而是找到盒子-确定真正的约束,详细一点的解释就是面对棘手的问题时,列出所有在你面前的可能途径,不要排除任何东西,不管它看起来有多正确或微不足道。然后逐一检查每一项。......
  • 程序员修炼之道阅读笔记3
    读完《程序员修炼之道:从小工到专家》的第三章和第四章后,我不禁被这本书所揭示的思维方式和工作方法所震撼。这两章的内容围绕着软件开发过程中的团队合作、沟通和管理等方面展开,不仅直指开发中的痛点,还给出了实用的解决方案和建议。在第三章中,作者强调了团队中的每个成员都要成......
  • 小程序开发笔记
     官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/code.html#JSON-%E9%85%8D%E7%BD%AEapp.json配置文件节点说明 https://developers.weixin.qq.com/miniprogram/dev/framework/config.html1.pages  代表页面路由,"pages/index/index",新......