hooks taro 下拉刷新_小程序自定义下拉刷新(Taro版)

本文介绍了如何使用Taro Hooks实现自定义下拉刷新组件,包括组件结构、状态管理以及触摸事件处理。尽管存在Android平台的卡顿问题,但提供了较好的iOS和模拟器体验,支持局部刷新和样式定制。
摘要由CSDN通过智能技术生成

在考虑实现自定义的下拉刷新组件的时候,首先要明确,这个算是一种hack方案。并不是说自定义的有多么好,反而自定义的下拉刷新在android下会有细微的卡顿(我这种实现方式)。所以尽量还是用小程序自带的吧。

这个实现主要是参考艾伦大佬的组件。

实现方式

我们将页面分为下面的结构

正常的时候下拉刷新区域的高度为0。

然后我们通过scroll-view的scrollToUpeper事件来标记开始下滑。

通过touchstart来记录我们手指的初始位置。

通过监听列表区域的touchmove事件,来不断的计算手指移动距离。

touchend事件来触发更新事件。

我们将页面分为几种状态:

enum refreshStatus {

INIT,

PULL_DOWN,

READY_REFRESH,

LOADING,

DONE

}

复制代码

大致流程如下:

页面加载之后是INIT状态。

当触发了scroll-view的scrollToUpeper事件,我们记录一个标志位isUpper,在scroll-view的scroll事件触发时,isUpper记为false

当我们列表页滑倒顶部的时候再下拉,页面进入了PULL_DOWN状态。 一般会设置一个有效的下拉距离,称之为validHeight,当下拉的高度不足validHeight时,这时候松开手指,页面回弹不刷新。

当我们继续下拉,距离超过了validHeight这时候进入了READY_REFRESH状态。

在READY_REFRESH状

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值