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

uni-app 下拉刷新、 上拉触底(列表信息)、 上滑加载(短视频) 一键搞定

一、下拉刷新

1. 首先找到pages.json中

给需要进行下拉刷新的页面设置可以下拉刷新

2. 然后在需要实现下拉刷新的script标签内添加

导入onPullDownRefresh

import {onPullDownRefresh} from '@dcloudio/uni-app'

 下拉刷新触发的事件

onPullDownRefresh(()=> {
	console.log('正在刷新中......');

	setTimeout(function () {
		uni.stopPullDownRefresh();
	}, 1000);
})

二、上拉触底

1.在需要实现上拉触底的script标签内添加

import {onPullDownRefresh} from '@dcloudio/uni-app'
onReachBottom(()=>{
	console.log('触底啦!')
})	

三、上滑加载

一般用于短视频,向上滑动触发时间,跳转到下一个视频

1. 在需要实现上滑加载的组件上加上参数touchstart、touchmove、touchend:

<view class="layout"  
	  @touchstart="touchStart"
      @touchmove="touchMove"
      @touchend="touchEnd">

    //短视频
</view>

2.  在需要实现上滑加载的script标签内添加

// 定义变量
const isLoading = ref(false); // 标记是否正在加载
const startY = ref(0); // 记录触摸开始的Y坐标
const distanceThreshold = 60; // 设置触发加载的距离阈值

// 模拟加载数据的函数
const loadData = () => {
  if (isLoading.value) return; // 如果正在加载,则不重复触发
  isLoading.value = true;
  console.log('加载更多数据...');
  // 模拟加载过程
  setTimeout(() => {
    isLoading.value = false;
    // 这里可以添加实际加载数据的逻辑,比如调用API获取数据
  }, 1000);
};



// 触摸开始事件
const touchStart = (event) => {
  startY.value = event.touches[0].clientY;
};

// 触摸移动事件
const touchMove = (event) => {
  const moveY = event.touches[0].clientY;
  const distance = startY.value - moveY; // 计算滑动的距离
  // 如果向上滑动并且超过阈值,则触发加载
  if (distance > distanceThreshold) {
    loadData();
  }
};

// 触摸结束事件
const touchEnd = () => {
  startY.value = 0; // 重置开始Y坐标
};


http://www.kler.cn/a/378552.html

相关文章:

  • 每日一言 动态图片
  • 如何对LabVIEW软件进行性能评估?
  • 1、Qt6 Quick 简介
  • Python并发编程库:Asyncio的异步编程实战
  • 堆heap的讨论、习题与代码
  • 占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……
  • nginx配置转发到elk的kibana的服务器
  • 【开发工具——依赖管理工具——Maven】
  • unity c# Tcp网络通讯
  • C++ 函数调用时的参数传递方法
  • 线性数据结构之队列
  • 【读书笔记/深入理解K8S】集群控制器
  • 《GBDT 算法的原理推导》 11-15更新决策树的叶子节点值 公式解析
  • mac 系统下载 vscode
  • 如何设置使PPT的画的图片导出变清晰
  • 自动驾驶-端到端大模型
  • 三层交换实现不同VLAN之间设备的互通
  • SQL 常用语句
  • 【系统架构设计师】2024年上半年真题论文: 论云上自动化运维级其应用(包括解题思路和素材)
  • 项目模块十四:HttpRequest模块
  • 六西格玛项目助力,手术机器人零部件国产化稳中求胜——张驰咨询
  • LLaMA系列一直在假装开源...
  • 基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
  • 【p2p、分布式,区块链笔记 Torrent】通过网络编程库net集成bittorrent-protocol协议
  • ps技巧,来源于网络
  • Linux -- 信号的常见产生方式