当前位置:   article > 正文

微信小程序 - 基于scroll view 实现下拉刷新

微信小程序 - 基于scroll view 实现下拉刷新

简介

        本文会基于scroll view 实现下拉刷新效果,在下拉的时候会进入loading状态。

实现效果

效果如上图所示,在下拉到底部时候,会出现loading条,在处理完成后loading条消失。

具体代码

布局

  1. <scroll-view
  2. scroll-y
  3. style="height:400px;"
  4. lower-threshold="{{10}}"
  5. scroll-top="{{scrollTop}}"
  6. bind:scrolltolower="scrollToLower"
  7. refresher-enabled="true"
  8. refresher-default-style="black"
  9. refresher-threshold="{{100}}"
  10. refresher-triggered="{{triggered}}"
  11. bindrefresherrefresh="onRefresh">
  12. <view style="height: 500px;">Hello, world</view>
  13. </scroll-view>

           scroll-view 配置 refresher-enabled开启加载效果。

           lower-threshold 和bind:scrolltolower对应滚动到底部触发事件。

           refresher相关配置为加载效果配置,scrollToLower函数会将triggered设置为true,当triggered为true时,会触发bindrefresherrefresh事件。

逻辑

  1. Page({
  2. data: {
  3. triggered: false, // 加载中状态
  4. scrollTop: 0
  5. },
  6. onReady: function () {
  7. console.log('ready')
  8. },
  9. scrollToLower: function () {
  10. if (this.data.triggered) {
  11. return;
  12. }
  13. console.log('scrollToLower')
  14. this.setData({
  15. triggered: true // 开启加载
  16. })
  17. },
  18. //
  19. onRefresh: function () {
  20. console.log('onRefresh')
  21. this.setData(
  22. {
  23. scrollTop:0 // 滚到首部,查看加载效果
  24. }
  25. )
  26. // 模拟请求回数据后 停止加载
  27. setTimeout(() => {
  28. this.setData({
  29. triggered: false, // 关闭加载
  30. scrollTop: 0
  31. });
  32. }, 3000);
  33. }
  34. })

         

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/270685
推荐阅读
相关标签
  

闽ICP备14008679号