当前位置: 首页 > news >正文

uniapp+vue3页面滚动加载数据

1.使用scroll-view

<scroll-view class="scroll-container" scroll-y="true" @scrolltolower="loadMore" :lower-threshold="50">< 列表数据写这里><!-- 加载提示 --><view v-if="loading" class="loading-container col-span-full text-center py-4"><text class="text-[#fff]">加载提示</text></view><!-- 没有更多数据提示 --><view v-else-if="!hasMore" class="no-more-container col-span-full text-center py-4"><text class="text-[#fff]">没有更多数据提示</text></view></scroll-view>js代码--------------------------------------------------------------------------------------// 当前页码
const currentPage = ref(1);
// 每页大小
const pageSize = ref(18);
// 是否正在加载
const loading = ref(false);
// 是否还有更多数据
const hasMore = ref(true);onMounted(() => {coverVideoList();
});const coverVideoList = async () => {// 如果正在加载或没有更多数据,则不执行请求if (loading.value || !hasMore.value) return;loading.value = true;try {const {data} = await videoListPost({pageNo: currentPage.value,pageSize: pageSize.value,});if (currentPage.value === 1) {// 第一页数据直接替换  页面数据 productListproductList.value = data.list || [];} else {// 非第一页数据追加到列表后面productList.value = [...productList.value, ...(data.list || [])];}// 判断是否还有更多数据hasMore.value = data.list && data.list.length === pageSize.value;console.log(data.list, "加载的数据");} catch (error) {console.error("加载数据失败", error);// 发生错误时回退页码if (currentPage.value > 1) {currentPage.value--;}} finally {loading.value = false;}
};
// 加载更多数据
const loadMore = () => {console.log('到底了吗');if (!loading.value && hasMore.value) {currentPage.value++;coverVideoList();}
};
css--------------------------------------------------------------------------------
.scroll-container {height: calc(100vh - 200rpx); // 减去搜索框的高度
}

相关文章:

  • 现代计算机图形学Games101入门笔记(十四)
  • 电磁兼容性优化设计在汽车电子芯片中的实践
  • 在 VSCode 中运行 Vue.js 项目
  • 动态范围调整(SEF算法实现)
  • 不清楚的点
  • Visual Studio旧版直链
  • “光伏+储能+智能调控”,CET中电技术分布式智能微网方案如何实现?
  • 从技术视角解构 Solana Meme 币生态
  • NanoPcT6 gpio操作
  • redisson基础
  • java 使用zxing生成条形码(可自定义文字位置、边框样式)
  • Pageassist安装(ollama+deepseek-r1)
  • Fura Red AM,Cell Permeant钙离子探针使用说明
  • 消息队列与Kafka基础:从概念到集群部署
  • 顶层设计-IM系统架构
  • 57页PPT|数字化工艺系统建设方案工艺数字化转型传统工艺数字化转型解决方案
  • 深入浅出横向联邦学习、纵向联邦学习、联邦迁移学习
  • C# 面向对象 构造函数带参无参细节解析
  • 【软件推荐——pdf2docx】
  • 解决将其他盘可用空间,移植到C盘
  • 纪念|脖子上挂着红领巾的陈逸飞
  • 张巍任中共河南省委副书记
  • 美联储主席:供应冲击或更频繁,将重新评估货币政策方法中的通胀和就业因素
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • 微软将裁员3%,减少管理层
  • 中国女足将于5月17日至6月2日赴美国集训并参加邀请赛