From 6e37870a99fcae9aee737754d0d9cbfbdf5a1568 Mon Sep 17 00:00:00 2001 From: lenovo Date: Wed, 22 Nov 2023 10:06:33 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E5=A4=8D=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=BB=91=E5=8A=A8=E5=88=B0=E9=A1=B6=E9=83=A8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=81=B6=E7=8E=B0=E6=97=A0=E6=B3=95=E4=B8=8B=E6=8B=89=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=202=E3=80=81=E4=BF=AE=E5=A4=8D=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E5=88=B7=E6=96=B0=E5=9B=9E=E6=BB=91=E6=97=B6list?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=BA=95=E5=B1=82=E8=B7=9F=E7=9D=80=E6=BB=91?= =?UTF-8?q?=E5=8A=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lenovo --- PullToRefresh/oh-package.json5 | 2 +- .../components/PullToRefresh/PullToRefresh.ets | 16 ++++++++++++++-- changelog.md | 5 +++++ entry/oh-package.json5 | 2 +- oh-package.json5 | 2 +- 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/PullToRefresh/oh-package.json5 b/PullToRefresh/oh-package.json5 index f0e16af..0d65185 100644 --- a/PullToRefresh/oh-package.json5 +++ b/PullToRefresh/oh-package.json5 @@ -14,7 +14,7 @@ "main": "index.ets", "repository": "https://gitee.com/openharmony-sig/PullToRefresh", "type": "module", - "version": "2.0.4", + "version": "2.0.5-rc.0", "dependencies": {}, "tags": [ "UI" diff --git a/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets b/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets index 6bd4813..db7c006 100644 --- a/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets +++ b/PullToRefresh/src/main/ets/components/PullToRefresh/PullToRefresh.ets @@ -255,13 +255,25 @@ export struct PullToRefresh { let distanceY = this.touchYNew - this.touchYOld; let isPullAction = distanceY > 0; - if ((this.state == IS_FREE && this.scroller.currentOffset() - .yOffset == 0 && isPullAction) || // 处于自由状态且列表处于顶部位置 并且 当前手势是下拉手势 + //兼容页面滑动到顶部时,this.scroller.currentOffset().yOffset返回0.000000....的浮点数的情况 + let yOffset: number = this.scroller.currentOffset().yOffset; + let isTop: boolean = yOffset == 0 ? true : false; + if (yOffset > -0.0001 && yOffset < 0.001) { + isTop = true; + } + + if ((this.state == IS_FREE && isTop && isPullAction) || // 处于自由状态且列表处于顶部位置 并且 当前手势是下拉手势 this.state == IS_PULL_DOWN_1 || this.state == IS_PULL_DOWN_2) { // 处于下拉状态中 if (this.refreshConfigurator.getHasRefresh()) { if (this.touchYOld !== undefined && refreshHeight !== undefined) { // 获取最新位移距离 let trY = this.touchYNew - this.touchYOld; + + //防止下拉回滑时list组件底层跟着滑动 + if(trY < 0) { + this.scroller.scrollTo({xOffset: 0, yOffset: 0}) + } + // 计算当前需要位移的总距离 this.trYTop = this.getTranslateYOfRefresh(trY); if (this.trYTop < refreshHeight) { diff --git a/changelog.md b/changelog.md index ee7b1e9..c0533bb 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,8 @@ +## 2.0.5-rc.0 + +1、修复页面滑动到顶部时,偶现无法下拉的问题 +2、修复下拉刷新回滑时list组件底层跟着滑动的问题 + ## 2.0.4 1.ArkTS的语法整改。 diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 index 3bb771e..22464a0 100644 --- a/entry/oh-package.json5 +++ b/entry/oh-package.json5 @@ -4,7 +4,7 @@ "name": "entry", "description": "example description", "repository": {}, - "version": "2.0.4", + "version": "2.0.5-rc.0", "dependencies": { "@ohos/pulltorefresh": "file:../PullToRefresh" } diff --git a/oh-package.json5 b/oh-package.json5 index af4be77..3231b78 100644 --- a/oh-package.json5 +++ b/oh-package.json5 @@ -6,6 +6,6 @@ "name": "pulltorefresh", "description": "example description", "repository": {}, - "version": "2.0.4", + "version": "2.0.5-rc.0", "dependencies": {} } -- Gitee