From c1fc96590f555bbb3d0c5c5642217a6db3ca850e Mon Sep 17 00:00:00 2001 From: jijiangrui Date: Thu, 23 May 2024 15:44:21 +0800 Subject: [PATCH] =?UTF-8?q?PullToRefresh=E6=B7=BB=E5=8A=A0onRefreshFinish?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=EF=BC=8C=E7=94=A8=E4=BA=8E=E5=9C=A8=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=88=B7=E6=96=B0=E5=89=8D=E6=90=9E=E4=BA=9B=E4=BA=8B?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: jijiangrui --- README.md | 1 + .../ets/components/PullToRefresh/PullToRefresh.ets | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f3cf6fa..e3282c3 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ interface DataChangeListener { | mWidth | Length | 容器宽 | undefined(自适应) | | mHeight | Length | 容器高 | undefined(自适应) | | onRefresh | ```() => Promise``` | 下拉刷新回调 | 1秒后结束下拉刷新动画并提示“刷新失败” | +| onRefreshFinish | ```() => number``` | 下拉刷新完成回调 | number毫秒后结束自定义下拉刷新动画 | | onLoadMore | ```() => Promise``` | 上拉加载更多回调 | 1秒后结束上拉加载动画 | | customRefresh | ```() => void ``` | 自定义下拉刷新动画布局 | undefined | | onAnimPullDown | ```(value?: number, width?: number, height?: number) => void``` | 下拉中回调 | undefined | diff --git a/library/src/main/ets/components/PullToRefresh/PullToRefresh.ets b/library/src/main/ets/components/PullToRefresh/PullToRefresh.ets index db7c006..9bd68fb 100644 --- a/library/src/main/ets/components/PullToRefresh/PullToRefresh.ets +++ b/library/src/main/ets/components/PullToRefresh/PullToRefresh.ets @@ -38,6 +38,7 @@ export struct PullToRefresh { }, 1000); }); }; + onRefreshFinish?: () => number; onLoadMore?: () => Promise = () => { return new Promise((resolve, reject) => { setTimeout(() => { @@ -400,7 +401,14 @@ export struct PullToRefresh { if (this.onRefresh !== undefined) { this.onRefresh().then((refreshText) => { if (refreshText.length == 0) { - this.closeRefresh(); + if (this.onRefreshFinish) { + let delay = this.onRefreshFinish(); + setTimeout(() => { + this.closeRefresh(); + }, delay); + } else { + this.closeRefresh(); + } } else { this.state = IS_REFRESHED; if (!this.customRefresh) { -- Gitee