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

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

相关推荐
自然 醒2 小时前
uni-app开发微信小程序,如何使用towxml去渲染md格式和html标签格式的内容?
微信小程序·uni-app·html
CHB3 小时前
uni-agent,你的数字员工来了
人工智能·uni-app·vibecoding
h_jQuery3 小时前
uniapp使用canvas实现逐字书写任意文字内容,后合成一张图片提交
前端·javascript·uni-app
困困的果果头3 小时前
【uniapp】解决H5嵌套在web-view中时打包页面与状态栏重叠
前端·uni-app
前端 贾公子3 小时前
Uniapp 使用 UQRCode 创建二维码
uni-app
Rattenking3 小时前
uni-app组件开发----自定义数字键盘组件
前端·javascript·uni-app
竟未曾年少轻狂4 小时前
微信小程序-组件开发
微信小程序·小程序
想七想八不如114085 小时前
【GitHub开源】一款极简跨平台 Todo 应用:微信小程序 + Windows 桌面挂件 + 实时同步
微信小程序·开源·github
笨笨狗吞噬者5 小时前
代理的妙用:uni-app 小程序是怎样用 `Proxy` 和 `wrapper` 抹平平台差异的
前端·微信小程序·uni-app
px不是xp1 天前
微信小程序组件化开发最佳实践
微信小程序·小程序·notepad++