微信小程序开发系列(三十二)·如何通过小程序的API实现页面的上拉加载(onReachBottom事件)和下拉刷新(onPullDownRefresh事件)

这篇具有很好参考价值的文章主要介绍了微信小程序开发系列(三十二)·如何通过小程序的API实现页面的上拉加载(onReachBottom事件)和下拉刷新(onPullDownRefresh事件)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

目录

1.  上拉加载

2.  下拉刷新


1.  上拉加载

        上拉加载是小程序中常见的一种加载方式,当用户滑动页面到底部时,会自动加载更多的内容,以便用户继续浏览小程序中实现上拉加载的方式:

①  在app.json或者page.json中配置距离页面底部距离:onReachBottomDistance;默认50px。

②  在页面.js中定义onReachBottom事件监听用户上拉加载。

        随机找到或者创建一个空页面,我这里使用之前的页面将其中的内容注释掉,找到profile.json文件,编写代码:

{
  "usingComponents": {},
  "onReachBottomDistance":100
}

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.scss编写代码:

page{
  height: 1000px;
}

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.js文件,编写代码,编写事件:

Page({

  // 监听用户上拉加载
  onReachBottom(){
    console.log('监听用户上拉加载')
  }
})

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.wxml文件,编写代码,创建一个数组:

<view wx:for="{{ numList }}" wx:key="*this">{{ item }}</view>

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

         找到profile.js文件,编写代码,在page中添加data数据:

Page({

  data:{
    numList:[1,2,3]
  },

  // 监听用户上拉加载
  onReachBottom(){
    console.log('监听用户上拉加载')
  }
})

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        编译:

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.scss文件注释掉之前的代码:

view{
  height: 400rpx;
  // 弹性布局
  display: flex;
  // 居中
  align-items: center;
  justify-content: center;
}

// 奇数页
view:nth-child(odd){
  background-color: lightskyblue;
}

// 偶数页
view:nth-child(even){
  background-color: lightslategrey;
}

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.scss文件更改page中的代码:

Page({

  data:{
    numList: [1, 2, 3]
  },

  // 监听用户上拉加载
  onReachBottom(){
    // console.log('监听用户上拉加载')

    // 产品需求:
    // 当用户上拉需要数字进行累加

    // 当用户上拉加载希望对数字进行累加,每次累加三个数字
    // 怎么进行累加
    // 获取目前数组中最后一项n,n+1,n+2,n+3

    // 增加一个提示框
    wx.showLoading({
      title: '数据加载中...',
    })

    // 设定一个定时器。在定时到期以后执行注册的回调函数
    setTimeout(() => {
      // 获取数组的最后一项
      const lastNum = this.data.numList[this.data.numList.length-1]
      // 需要追加的元素
      const newArr = [lastNum + 1,lastNum + 2,lastNum +3]

      // 合并初始数组以及追加后的数组
      // 例如初始数组[1,2,3]
      // 追加后[1,2,3,4,5,6] 
      this.setData({
        numList: [...this.data.numList,...newArr]
      })

      // 隐藏 loading 提示框
      wx.hideLoading()
      // 通过更改数字进行更改延时
    },100
    )

  }
})

        编译通过滑动屏幕,实现页面的加载:

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

2.  下拉刷新

        下拉刷新是小程序中常见的一种刷新方式,当用户下拉页面时,页面会自动刷新,以便用户获取最新的内容。

小程序中实现上拉加载更多的方式:

①  在 app.json 或者 page.json 中开启允许下拉,同时可以配置 窗口、loading 样式等。

②  在 页面.js 中定义 onPullDownRefresh 事件监听用户下拉刷新。

        找到profile.json文件,更改:

{
  "usingComponents": {},
  "onReachBottomDistance":100,
  "enablePullDownRefresh": true,
  "backgroundColor": "#efefef",
  "backgroundTextStyle":"dark"
}

①  usingComponents: 这里可以列出项目中所需要使用的组件,可以在这里注册项目自定义的组件,以便在页面中引用和调用。
②  onReachBottomDistance: 当页面上拉到距底部指定距离时触发 onReachBottom 事件,单位为像素。
③  enablePullDownRefresh: 设置为 true 表示页面可以下拉刷新,用户下拉页面时会触发下拉刷新事件。
④  backgroundColor: 设置页面的背景颜色,这里的 "#efefef" 表示浅灰色。
⑤  backgroundTextStyle: 设置下拉loading的样式,"dark" 表示深色样式,适合浅色背景。

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        找到profile.js文件,在page中添加:

  // 监听用户下拉刷新
  onPullDownRefresh(){
    console.log('监听用户下拉刷新')
  }

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        将其更改为:

  // 监听用户下拉刷新
  onPullDownRefresh(){
    // console.log('监听用户下拉刷新')

    // 产品需求:
    // 当用户上拉加载更多以后,如果用户进行下拉刷新
    // 需要将数据进行重置
    this.setData({
      numList: [1,2,3]
    })


  }

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        通过上拉多加几个数据:

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        下拉会发现数据刷新。

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

        需要注意一点的是,下拉刷新以后,loading效果有可能不会回弹回去,一次我们可以添加:

    // 下拉刷新以后,loading效果有可能不会回弹回去
    if (this.data.numList.length === 3){
      wx.stopPullDownRefresh()
    }

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css

微信小程序开发_时光の尘的博客-CSDN博客

微信小程序onreachbottom,微信小程序开发,微信小程序,小程序,spring,java,物联网,javascript,css文章来源地址https://www.toymoban.com/news/detail-849311.html

到了这里,关于微信小程序开发系列(三十二)·如何通过小程序的API实现页面的上拉加载(onReachBottom事件)和下拉刷新(onPullDownRefresh事件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序开发教学系列(9)- 小程序页面优化

    在开发小程序时,页面性能优化是非常重要的一项任务。优化页面性能可以提升用户体验,使小程序更加流畅和高效。本章将介绍一些常见的页面优化方法和技巧,帮助您提升小程序的性能。 页面性能优化的目标是减少页面加载时间和提升页面渲染速度,从而提供更好的用户

    2024年02月11日
    浏览(34)
  • 微信小程序开发入门教程(十二)

    上一篇文章我们讲述了微信小程序的三个基础组件 icon 、 text 和 progress 。这些基础组件主要用途是进行信息展示,微信小程序除了信息展示还需要与用户交互,而表单是应用中获取用户输入的重要手段,它对于系统极其重要,用户在应用中输入的大部分内容都是在表单元素中

    2024年02月11日
    浏览(25)
  • 微信小程序开发系列(十一)·小程序页面的跳转设置以及参数传递

    目录 1.  跳转到商品列表 1.1  url: 当前小程序内的跳转链接 1.2  navigate:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面 1.3  redirect: 关闭当前页面,跳转到应用内的某个页面。但不能跳转到 tabbar 页面 1.4  navigate和redirect的区别 1.5  switchTab:跳转到 t

    2024年04月12日
    浏览(37)
  • 【SQL开发实战技巧】系列(三十二):数仓报表场景☞对表中某个字段内的值去重

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月12日
    浏览(39)
  • 微信小程序开发系列(六)·小程序配置文件详细介绍·项目配置文件和配置Sass以及sitemap.json文件

    微信小程序开发_时光の尘的博客-CSDN博客 目录 1.  项目配置文件和配置Sass 2.  sitemap.json文件         在创建项目的时候,每个项目的根目录生成两个config.json文件,用于保存开发者在工具上做的个性化配置,例如和编译有关的配置。         当重新安装微信开发者工

    2024年03月12日
    浏览(35)
  • 微信小程序开发系列-07组件

    《微信小程序开发系列-01创建一个最小的小程序项目》 《微信小程序开发系列-02注册小程序》 《微信小程序开发系列-03全局配置中的“window”和“tabBar”》 《微信小程序开发系列-04获取用户图像和昵称》 《微信小程序开发系列-05登录小程序》 《微信小程序开发系列-06事件

    2024年02月03日
    浏览(34)
  • Python工具箱系列(三十二)

    Elasticsearch是一个基于Lucene的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful 的API接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是非常流行的企业级搜索引擎。官方支持的客户端语言包括Java、.NET(C#)、PHP、Python、Apa

    2024年02月05日
    浏览(37)
  • 微信小程序开发教学系列(12)- 实战项目案例

    本章将通过一个简单的实战项目案例来帮助读者巩固之前学习到的知识。我们将搭建一个名为“ToDoList”的微信小程序,实现一个简单的任务清单功能。 ToDoList是一个用于记录和管理任务的小程序。用户可以添加、编辑、完成和删除任务,以及查看任务清单。 功能需求 显示任

    2024年02月11日
    浏览(33)
  • 微信小程序开发教学系列(3)- 页面设计与布局

    在微信小程序开发中,页面的设计和布局是非常重要的。一个好的页面设计可以提升用户体验,并使小程序更加吸引人。本章节将介绍如何设计和布局微信小程序的页面。 3.1 页面结构和样式的创建和设置 在创建微信小程序页面时,需要先定义页面的结构和样式。可以通过以

    2024年02月11日
    浏览(31)
  • 微信小程序开发教学系列(4)- 数据绑定与事件处理

    在微信小程序中,数据绑定和事件处理是非常重要的部分。数据绑定可以将数据和页面元素进行关联,实现数据的动态渲染;事件处理则是响应用户的操作,实现交互功能。本章节将详细介绍数据绑定和事件处理的基本原理和使用方法。 4.1 数据绑定 数据绑定是指将数据与页

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包