uniapp+微信小程序+最简单局部下拉刷新实现

直接上代码

javascript 复制代码
<scroll-view 
  style="height: 27vh;" 
  :scroll-top="scrollTop" 
  scroll-y="true"
  @scrolltolower="onScrollToLower1" 
  lower-threshold="50"
  refresher-enabled="true" 
  @refresherrefresh="onRefresherRefresh" 
  :refresher-triggered="refresherTriggered">
</scroll-view>
methods: {
  // 触底加载更多
  onScrollToLower1() {
    console.log("触底加载更多数据");
    this.loadMoreData();  // 调用加载更多数据的方法
  },

  // 下拉刷新
  async onRefresherRefresh() {
    console.log("开始刷新数据");
    this.refresherTriggered = true; // 显示刷新动画
    await this.refreshData();  // 重新获取数据
    this.refresherTriggered = false; // 关闭刷新动画
  }
}
  1. style="height: 27vh;"

    • 设置 scroll-view 的高度为 27% 的视口高度 (vh),确保它有固定高度,否则不会出现滚动条。
  2. :scroll-top="scrollTop"

    • 绑定 scrollTop 变量,可以用于控制 scroll-view 的滚动位置。

    • 例如,scrollTop = 0 时,滚动条会回到顶部。

  3. scroll-y="true"

    • 允许垂直滚动,启用纵向滚动功能。
  4. @scrolltolower="onScrollToLower1"

    • 当滚动到底部时,触发 onScrollToLower1 事件。

    • 适用于上拉加载更多数据的场景,比如分页加载。

  5. lower-threshold="50"

    • 设置触发 scrolltolower 事件的阈值,表示距离底部 50px 时,就会触发 onScrollToLower1

    • 这样可以提前加载数据,避免用户滚到底部时出现短暂空白。

  6. refresher-enabled="true"

    • 开启下拉刷新功能 ,用户可以下拉刷新 scroll-view 内容。
  7. @refresherrefresh="onRefresherRefresh"

    • 监听下拉刷新事件,触发 onRefresherRefresh 方法。

    • 该方法通常用于重新获取数据 并更新 scroll-view 的内容。

  8. :refresher-triggered="refresherTriggered"

    • 绑定 refresherTriggered 变量,控制是否显示下拉刷新动画

    • refresherTriggered = true 时,会显示刷新动画,加载完数据后应设为 false

只需要把滚动的内容放在这个中间即可

相关推荐
疯狂的沙粒9 小时前
uniapp 开发企业微信小程序,如何区别生产环境和测试环境?来处理不同的服务请求
微信小程序·uni-app·notepad++
轩1159 小时前
实现购物车微信小程序
微信小程序·小程序·notepad++
知兀9 小时前
【黑马程序员uniapp】项目配置、请求函数封装
uni-app
fakaifa13 小时前
【最新版】西陆洗车系统源码全开源+uniapp前端+搭建教程
java·小程序·uni-app·php·源码下载·西陆洗车·洗车小程序
m0_7263658314 小时前
2025年微信小程序开发:趋势、最佳实践与AI整合
人工智能·微信小程序·notepad++
gurenchang16 小时前
动态设置微信小程序页面标题(navigationBarTitleText属性)
微信小程序·小程序
anyup17 小时前
记一次解决 uni-app 真机运行时导致的白屏问题:Trae vs 通义灵码 vs Cursor
前端·uni-app·trae
Emma歌小白17 小时前
ReferenceError: wx is not defined
微信小程序
getapi18 小时前
为什么 uni-app 开发的 App 没有明显出现屏幕适配问题Flutter 开发的 App 出现了屏幕适配问题
flutter·uni-app
老李不敲代码20 小时前
榕壹云健身预约系统:多门店管理的数字化解决方案(ThinkPHP+MySQL+UniApp实现)
mysql·微信小程序·uni-app·php·软件需求