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

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); // 减去搜索框的高度
}
http://www.xdnf.cn/news/6672.html

相关文章:

  • 交叉熵损失函数,KL散度, Focal loss
  • 经典启发算法【早期/启发式/HC爬山/SA模拟退火/TS禁忌搜/IA免疫 思想流程举例全】
  • 【生成式AI文本生成实战】从GPT原理到企业级应用开发
  • 【基础】Windows开发设置入门6:Scoop开发者完全指南(AI整理)
  • 如何导出一个python项目中的所有依赖包及其版本信息requirements.txt
  • muduo库EventLoop模块详解
  • 【四川省专升本计算机基础】第二章 计算机软硬件基础(1)
  • 超市营业额数据分析
  • 排序算法之基础排序:冒泡,选择,插入排序详解
  • 工具:shell命令提示符自定义之显示GIT当前分支
  • let、var、const的区别
  • 组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
  • ES(Elasticsearch)的应用与代码示例
  • 主流数据库排查与优化速查手册
  • 基于Backtrader库的均线策略实现与回测
  • 物联网僵尸网络防御:从设备认证到流量染色
  • 游戏AI研究所-Stable Diffusion中LoRA(Low-Rank Adaptation)的定义及权重的作用机制
  • 实现视频分片上传 OSS
  • 深入浅出横向联邦学习、纵向联邦学习、联邦迁移学习
  • 25-05-16计算机网络学习笔记Day1
  • idea 保证旧版本配置的同时,如何从低版本升到高版本
  • 黑马k8s(八)
  • JSON格式详解
  • 基于MCP的桥梁设计规范智能解析与校审系统构建实践
  • npm和nvm和nrm有什么区别
  • EasyExcel导出excel再转PDF转图片详解
  • 卷积神经网络踩坑全记录
  • 5.16本日总结
  • C语言实现INI配置文件读取和写入
  • 内核性能测试(60s不丢包性能)