当前位置:   article > 正文

微信小程序下拉刷新获取数据和触底事件刷新实现_微信小程序触底刷新

微信小程序触底刷新

一、下拉刷新

1.json文件

说明:开启下拉刷新,然后设置窗口的背景色,方便观看。

  1. "enablePullDownRefresh": true,
  2. "backgroundColor":"#FFC0CB"

 

2. js文件

说明:重新发起请求,并显示加载中

  1. * 页面相关事件处理函数--监听用户下拉动作
  2. */
  3. onPullDownRefresh() {
  4. this.getData()
  5. wx.showLoading({
  6. title: '加载中',
  7. })
  8. },

 

 3.js文件

说明:当数据请求成功后,收回下拉刷新框并关闭加载中。

  1. success: ({data}) => {
  2. // 数据加载成功,关闭下拉刷新
  3. wx.stopPullDownRefresh()
  4. // 成功后并关闭加载中
  5. wx.hideLoading()
  6. this.setData({
  7. arrList:data.data
  8. })
  9. },

二、触底事件刷新

2.json文件

说明:onReachBottomDistance定义了从页面底部的距离为50px,当滚动距离接近到这个值时,通常会触发一个函数或事件来加载更多内容。

  "onReachBottomDistance": 50

 说明:当距离页面底部为50px的时候,重新发起数据请求,并添加一个显示导航条加载动画(转态遮罩)

  1. * 页面上拉触底事件的处理函数
  2. */
  3. onReachBottom() {
  4. this.getData()
  5. // 在当前页面显示导航条加载动画,是一个状态遮罩
  6. wx.showNavigationBarLoading()
  7. },

 说明:改造了getData()函数,将以前的数据和现在获取的数据进行相加。以此下拉获取更多的信息。

  1. getData() {
  2. wx.request({
  3. url: '**',
  4. method:"GET",
  5. success: ({data:res}) => {
  6. // 数据加载成功,关闭下拉刷新
  7. wx.stopPullDownRefresh()
  8. // 成功后并关闭加载中
  9. wx.hideLoading()
  10. wx.hideNavigationBarLoading()
  11. let oldData=this.data.arrList
  12. let newData=oldData.concat(res.data)
  13. this.setData({
  14. arrList:newData
  15. })
  16. }
  17. })
  18. },

三、源码

3.1 xml文件

  1. <!-- 简单的前台页面 -->
  2. <view>
  3. <block wx:for="{{arrList}}" wx:key="id">
  4. <view>猫儿</view>
  5. <image src="{{item.url}}" mode=""/>
  6. </block>
  7. </view>

3.2 js文件

  1. // pages/refresh/refresh.js
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. arrList:[]
  8. },
  9. getData() {
  10. wx.request({
  11. url: '**',
  12. method:"GET",
  13. success: ({data:res}) => {
  14. // 数据加载成功,关闭下拉刷新
  15. wx.stopPullDownRefresh()
  16. // 成功后并关闭加载中
  17. wx.hideLoading()
  18. //关闭导航加载
  19. wx.hideNavigationBarLoading()
  20. let oldData=this.data.arrList
  21. let newData=oldData.concat(res.data)
  22. this.setData({
  23. arrList:newData
  24. })
  25. }
  26. })
  27. },
  28. /**
  29. * 生命周期函数--监听页面加载
  30. */
  31. onLoad(options) {
  32. this.getData()
  33. wx.showLoading({
  34. title: '加载中',
  35. })
  36. },
  37. /**
  38. * 生命周期函数--监听页面初次渲染完成
  39. */
  40. onReady() {
  41. },
  42. /**
  43. * 生命周期函数--监听页面显示
  44. */
  45. onShow() {
  46. },
  47. /**
  48. * 生命周期函数--监听页面隐藏
  49. */
  50. onHide() {
  51. },
  52. /**
  53. * 生命周期函数--监听页面卸载
  54. */
  55. onUnload() {
  56. },
  57. /**
  58. * 页面相关事件处理函数--监听用户下拉动作
  59. */
  60. onPullDownRefresh() {
  61. this.getData()
  62. //清空数据,重新获取数据(归零)
  63. this.setData({
  64. arrList:[]
  65. })
  66. },
  67. /**
  68. * 页面上拉触底事件的处理函数
  69. */
  70. onReachBottom() {
  71. this.getData()
  72. // 在当前页面显示导航条加载动画,是一个状态遮罩
  73. wx.showNavigationBarLoading()
  74. },
  75. /**
  76. * 用户点击右上角分享
  77. */
  78. onShareAppMessage() {
  79. }
  80. })

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号