下拉刷新上拉加载

article/2025/10/26 18:17:57

目录

  • 原理
  • 实现
  • 效果

原理

想必使用过微信开发工具的应该都接触过上拉加载下拉刷新配置。
在这里插入图片描述
原理呢就是通过根据当前刚开始触碰的屏幕垂直y轴距离和滑动时所触碰垂直y轴距离,从而来判断是上拉,下拉。


实现

使用的vue2 封装的组件,js大致思路是一样的

父组件

<template><div class="home"><pull-down-refresh:showLoadingRefresh="true":PullDownSize="100":PullUpSize="100"@PullUpHandle="PullUpHandle" @PullDownHandle="PullDownHandle"><!-- 在组件的代码区域会触发下拉上拉操作 --><h2>example</h2><button @click="clickHandle">BUTTON</button></pull-down-refresh></div>
</template><script>
// 引入下拉组件
import PullDownRefresh from '../components/PullDownRefresh.vue'
export default {name: 'Home',components:{ PullDownRefresh },data(){return {}},methods:{PullUpHandle(value){// do somethingconsole.log(value);},PullDownHandle(value){// do somethingconsole.log(value);},clickHandle(){console.log(111);}}
}
</script><style lang="less" scoped>.home {width: 100%;height: 100%;}
</style>

子组件

<template><divclass="pull-down-refresh"@touchstart="startHandle"@touchmove="moveHandle"@touchend="endHandle"><!-- <transition><div :class="[isShowLoading?'h':'','loading-refresh']" v-show="isShowLoading"><img src="../assets/loading.png"></div></transition> --><!-- slot插槽 在内部可执行的代码块 --><slot></slot></div>
</template><script>
export default {name: "PullDownRefresh",props:{PullDownSize:{ // 父级组件传过来的下拉需求尺寸,默认100type:Number,default:100},PullUpSize:{ // 父级组件传过来的上拉需求尺寸,默认100type:Number,default:100},// showLoadingRefresh:{//   type:Boolean,//   default:false// }},data(){return {isPullDown:false, // 判断是否是下拉操作startY:'', // 开始触摸的距离尺寸resultY:'', // 最终的距离尺寸 = 开始尺寸 - 移动移动,小于0位下拉,大于0位上拉// isShowLoading:false,  // loading 动画是否展示}},methods: {startHandle(e) {// 每开始的第一次触碰,记录初始的垂直距离尺寸this.startY = e.touches[0].clientY},moveHandle(e) {// 触摸滑动的时候用来计算最终的距离尺寸this.resultY = this.startY - e.touches[0].clientY// 上拉 ————> 最终的距离是大于0的,最初距离 - 向上滑动的距离 > 0 ,向上滑动的时候尺寸距离比原来的尺寸距离要小// 下拉 ————> 反之。向下滑动的尺寸比原来的尺寸大if(this.resultY > 0){this.isPullDown = false  // pull up}else {this.isPullDown = true  // pull down}},endHandle() {if(!this.resultY){ // 判断最终的距离尺寸是否不成立不存在return}// 判断当前是否为下拉,为false是上拉操作,并且判断是否满足对于上拉的需求尺寸条件,满足条件执行if(this.isPullDown == false && this.resultY >= this.PullUpSize){this.$emit('PullUpHandle','你好我...,我正在触发上拉加载操作')}// 下拉的尺寸是<0的,通过绝对值 Math.abs(this.resultY) 将原来的最终尺寸与需求尺寸对比if(this.isPullDown && Math.abs(this.resultY) >= this.PullDownSize) {this.$emit('PullDownHandle','你好我...,我正在触发下拉刷新操作')// if(this.showLoadingRefresh){//   this.isShowLoading = true//   setTimeout(() => {//     this.isShowLoading = false//   },500)// }}this.resultY = 0this.isPullDown = false// 最终再将其复位},},
};
</script><style scoped>
.pull-down-refresh {width: 100%;height: 100%;overflow: hidden;
}
.loading-refresh {width: 100%;height: 0px;background: #ccc;display: flex;justify-content: center;align-items: center;transition: all .5s linear;
}
.loading-refresh img {height: 100%;width: auto;transform: scale(.6);
}
.h {height: 40px;
}
.v-enter,.v-leave-to{opacity: 0;/* transform: translateX(80px); */}.v-enter-active,.v-leave-active{transition: all 0.5S ease}
</style>

效果

在这里插入图片描述

添加上loading样式

在这里插入图片描述


http://chatgpt.dhexx.cn/article/L5SKC3tv.shtml

相关文章

Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

转载请注明出处&#xff1a;http://blog.csdn.net/guolin_blog/article/details/9255575 最近项目中需要用到ListView下拉刷新的功能&#xff0c;一开始想图省事&#xff0c;在网上直接找一个现成的&#xff0c;可是尝试了网上多个版本的下拉刷新之后发现效果都不怎么理想。有些…

【Demo】教你实现下拉刷新

前言 第三方库很常见&#xff0c;我们开发需求的时候经常会用到下拉刷新组件&#xff0c;如果要我们自己实现下拉刷新该如何实现尼&#xff1f; 效果 实现原理 1、监听 touchstart事件记录初始startY 2、监听 touchmove事件 e.touches[0].pageY - startY得到 deltaY&#xf…

如何实现上拉加载,下拉刷新

答&#xff1a;下拉刷新和上拉加载这两种交互⽅式通常出现在移动端中 本质上等同于PC⽹⻚中的分⻚&#xff0c;只是交互形式不同 开源社区也有很多优秀的解决⽅案&#xff0c;如 iscroll 、 better-scroll 、 pulltorefresh.js 库等等 这些第三⽅库使⽤起来⾮常便捷 我们通…

jira使用教程管理项目

添加工作流 1.点击项目设置 2.点击工作流&#xff0c;然后点击切换方案 3.进入切换方案界面之后&#xff0c;点击工作流&#xff0c;然后点击添加工作流 4.输入工作流名称&#xff0c;点击添加 5.编辑工作流 可以导出工作流供别人使用 编辑之前添加的工作流 提交bug

今日记录:JIRA使用指南

JIRA流程与使用指南 学习总结&#xff1a; 什么是JIRA&#xff1f;为什么要用任务管理工具&#xff1f;JIRA基础流程 ① 什么是JIRA&#xff1f; JIRA是一个项目与事务管理工具&#xff0c;被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪和敏捷管理等工作领…

JIRA-使用教程_概念

博客概要 JIRA是一个非常强大的项目与事务跟踪工具&#xff0c;博主在具体工作使用中对它爱不释手 &#xff0c;发现它功能全面、配置灵活、扩展丰富…反正优点一大堆&#xff01;好东西嘛就要拿出来&#xff0c;大家一起分享~本博文先简单介绍JIRA相关的基本信息。 文章目录 博…

Confluence+Jira使用

Jira过滤器的使用方式&#xff1a; project MCU AND issuetype 测试用例 AND component GPIO ORDER BY summary ASC实例&#xff1a;

jira使用教程 一(从官方文档理解)

JIRA官方说明 JIRA使用教程 blog QA: jira 如何关联到Gerrit Reviews JIRA Concepts - Issues Aim JIRA tracks issues, which can be bugs, feature requests, or any other tasks you want to track. JIRA可以跟踪问题&#xff0c;可以是bug、特性请求或任何其他你想跟踪…

JIRA-使用教程_问题单-新建

博客概要 简单分享新增并查看一个问题单的步骤~ 文章目录 博客概要《JIRA-使用教程》_总目录问题单-新建1.进入项目2.新建唤起3.填写新建弹窗4.查看问题 总结 《JIRA-使用教程》_总目录 文章超链接&#xff1a;https://blog.csdn.net/qq_41386332/article/details/108865809 …

项目管理工具——Jira使用和配置

摘要 链接&#xff1a;https://pan.baidu.com/s/1_PgOuOWsS1lnHIIyI0y4pA 提取码&#xff1a;v0dy 本博文将介绍在软件开发中的常用的软件管理工具。Jira是Atlassian公司出品的一款事务管理软件&#xff08;缺陷管理类的软件&#xff09;。无论是“需求”&#xff0c;还是“…

命令进入mysql创建jira_JIRA使用教程:连接数据库—MySQL_MySQL

本文主要介绍如何连接JIRA到mysql数据库。 首先 查看MySQL的版本是否支持&#xff0c;查阅 支持的平台 。 如果是转移JIRA到另一台服务器&#xff0c;先导出数据为XML备份&#xff0c;然后将旧数据库中的数据传输到新的数据库。 如果你打算用同一个MySQL服务器安装Confluence和…

jira oracle安装,JIRA使用教程:连接数据库—Oracle

本文主要介绍连接JIRA到Oracle数据库。 首先 检查Oracle的版本是否支持&#xff0c;详见支持的平台。 如果是转移JIRA到另一台服务器&#xff0c;先导出数据为XML备份&#xff0c;然后将旧数据库中的数据传输到新的数据库。 在开始前关闭JIRA&#xff0c;除非你正在运行Setup W…

命令进入mysql创建jira_JIRA使用教程:连接数据库―MySQL

本文主要介绍如何连接JIRA到mysql数据库。 首先 查看MySQL的版本是否支持&#xff0c;查阅 支持的平台 。 如果是转移JIRA到另一台服务器&#xff0c;先导出数据为XML备份&#xff0c;然后将旧数据库中的数据传输到新的数据库。 如果你打算用同一个MySQL服务器安装Confluence和…

Jira使用浅谈篇一

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

jira软件 linux 安装,JIRA使用教程:在Linux上安装JIRA

本指南主要介绍如何使用“Linux Installer”在Linux上安装一个新的JIRA。如果要升级请参阅JIRA升级指南。 申请试用请咨询在线客服。 注意&#xff1a;一些反病毒或其他互联网安全工具可能会干扰JIRA的安装过程&#xff0c;并阻止安装过程成功完成。为了避免遇到这样的情况&…

jira的详细使用教程

jira的详细使用教程,1,Jira- 是一款缺陷管理软件工具,用其进行缺陷的管理和跟踪。(是B/S架构的软件) 2,主要涉及的角色: 3,具体工作流 添加工作流 1.点击项目设置 2.点击工作流,然后点击切换方案 3.进入切换

命令进入mysql创建jira_JIRA使用教程

连接数据库—MySQL 本文主要介绍如何连接JIRA到MySQL数据库。 相关资料推荐&#xff1a; 首先查看MySQL的版本是否支持&#xff0c;查阅支持的平台。 如果是转移JIRA到另一台服务器&#xff0c;先导出数据为XML备份&#xff0c;然后将旧数据库中的数据传输到新的数据库。 如果你…

Jira使用教程-不古出品

Jira使用教程-不古出品 Jira 简要概述关于 Jira关键术语事务项目板工作流敏捷 Jira 入门教程&#xff1a;6 个基本步骤第 1 步 – 创建项目第 2 步 – 选择模板项目类型 第 3 步 - 设置列第 4 步 – 创建事务第 5 步 – 邀请团队第 6 步 - 推动工作进展 Jira 最佳实践Jira 项目…

jira操作流程

一、目的与范围 1.1目的 1.规范jira在项目管理过程中的使用&#xff0c;保证项目任务信息完整&#xff0c;能全面、实时地反馈项目实际进度及状态。 2.明确jira使用过程中职责&#xff0c;为各级主管在项目管理过程中实施检查提供依据。 1.2范围 在立项之初确定纳入jira管…

缺陷管理工具 之JIRA使用教程

1&#xff0c;Jira - 是一款缺陷管理软件工具&#xff0c;用其进行缺陷的管理和跟踪。&#xff08;是B/S架构的软件&#xff09; 2&#xff0c;主要涉及的角色&#xff1a; 管理人员&#xff1a;创建项目&#xff0c;创建人员&#xff08;给项目中的人员分配账号&#xff09; …