diff --git a/README.md b/README.md index f3cf6fa56a0f09ad53da711b0747964c308e6005..e3282c3146dcfded59d229a0d4d57632eeb174ae 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 db7c006586eae21131198dc027cd1c21939c1b73..9bd68fbf8decb2b2b2fec0161ba26767653df62f 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) {