uni-app实现列表滚动触底加载的完整方案

作者:资源驿站

时间:2026-10-31

浏览:417

本文详解在uni-app中实现列表滚动触底加载的方法。通过监听@scrolltolower事件,结合scroll-view组件与分页逻辑,自动获取下一页数据。文章提供模板、样式及核心JS代码示例,涵盖H5、小程序及APP端效果展示,帮助开发者快速掌握无限滚动加载技术。

文章目录

导语

在常规的前端开发场景中,经常遇到需要渲染海量数据的页面需求。此时,采用滚动加载机制成为提升用户体验的关键手段,下文将对此进行梳理总结。

原理分析

核心思路是利用@scrolltolower事件来监听用户滚动至底部的动作,进而触发加载下一页数据的逻辑。

实战演练

模板页面

<scroll-view
  :scroll-y="true"
  class="block-main block-two-level block-pad"
  @scrolltolower="scrollBottom">
  <view class="scroll-ls" v-for="(item, index) in scrollInfo.list" :key="index"> {{ item }} </view>
  <uni-load-more v-if="scrollInfo.list.length" :status="scrollInfo.loading"></uni-load-more>
</scroll-view>

样式编写

.scroll-ls {
  margin-top: 20rpx;
  padding: 50rpx 0;
  text-align: center;
  background: $f8;
}

脚本使用

  • 定义数据
// 滚动列表
const scrollInfo = reactive({
  originList: [
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
    27, 28,
  ],
  list: [],
  pageInfo: {
    page: 1,
    size: 8,
    pages: 0,
  },
  loading: "more",
});
  • 方法调用
// 滚动到底部
function scrollBottom() {
  console.log("滚动到底部!");
  if (scrollInfo.pageInfo.page < scrollInfo.pageInfo.pages) {
    scrollInfo.pageInfo.page++;
    scrollInfo.loading = "loading";
    getList();
  } else {
    scrollInfo.loading = "noMore";
  }
}
  • 获取列表
// 获取列表
function getList() {
  if (scrollInfo.pageInfo.page <= 1) {
    show.value = true;
  }
  let data = proxy.$apis.utils.splitData(scrollInfo.originList, 8);
  scrollInfo.pageInfo.pages = data.pages;
  setTimeout(() => {
    if (scrollInfo.pageInfo.page <= 1) {
      scrollInfo.list = data.list[scrollInfo.pageInfo.page - 1];
      setTimeout(() => {
        show.value = false;
      }, 500);
    } else {
      scrollInfo.list = [...scrollInfo.list, ...data.list[scrollInfo.pageInfo.page - 1]];
    }
    scrollInfo.loading = scrollInfo.pageInfo.page < scrollInfo.pageInfo.pages ? "more" : "noMore";
  }, 1000);
}

案例展示

h5 端效果

导语

小程序端效果

导语

APP 端效果

导语

最后

以上就是uniapp实现滚动触底加载项目实战的详细内容,更多关于uniapp滚动触底加载的资料请关注本站其它相关文章!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章