From 649932111c76b2b469ab2a4a86b999ea1b16fd33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E7=A6=BB?= Date: Mon, 8 Sep 2025 10:49:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BC=A0?= =?UTF-8?q?=E5=85=A5=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84loadMore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/src/demo/PullToRefresh.tsx | 30 ++++++++++++++++++++++++++ src/components/PullToRefresh/index.tsx | 18 ++++++++++------ 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/demo/src/demo/PullToRefresh.tsx b/demo/src/demo/PullToRefresh.tsx index a755608e..b37c43dd 100644 --- a/demo/src/demo/PullToRefresh.tsx +++ b/demo/src/demo/PullToRefresh.tsx @@ -11,5 +11,35 @@ export default () => ( + + +
+ Promise.resolve({})} + loadMoreText={(onLoadMore) => ( +
+ 自定义加载更多区域 +
+ )} + > +
list
+
+
+
); diff --git a/src/components/PullToRefresh/index.tsx b/src/components/PullToRefresh/index.tsx index 9722e59f..522a1fc7 100644 --- a/src/components/PullToRefresh/index.tsx +++ b/src/components/PullToRefresh/index.tsx @@ -18,7 +18,7 @@ export interface PullToRefreshProps { distance?: number; loadingDistance?: number; distanceRatio?: number; - loadMoreText?: string; + loadMoreText?: string | ((onLoadMore: () => void) => React.ReactNode); maxDistance?: number; onRefresh?: () => Promise; onScroll?: (event: React.UIEvent) => void; @@ -249,12 +249,16 @@ export const PullToRefresh = React.forwardRef
{renderIndicator(status, distance)}
{!disabled && useFallback && ( - - {renderIndicator(status, oDistance)} - - + typeof loadMoreText === 'function' ? ( + loadMoreText(handleLoadMore) + ) : ( + + {renderIndicator(status, oDistance)} + + + ) )} {React.Children.only(children)} From 3c5a8ab9ffd9f84c1d385a7fba520054c2066444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E7=A6=BB?= Date: Mon, 8 Sep 2025 11:00:50 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BC=A0?= =?UTF-8?q?=E5=85=A5=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84loadMore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo/src/demo/PullToRefresh.tsx | 6 +----- src/components/PullToRefresh/index.tsx | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/demo/src/demo/PullToRefresh.tsx b/demo/src/demo/PullToRefresh.tsx index b37c43dd..090dc153 100644 --- a/demo/src/demo/PullToRefresh.tsx +++ b/demo/src/demo/PullToRefresh.tsx @@ -19,17 +19,13 @@ export default () => ( loadMoreText={(onLoadMore) => (
diff --git a/src/components/PullToRefresh/index.tsx b/src/components/PullToRefresh/index.tsx index 522a1fc7..e3e1e0d6 100644 --- a/src/components/PullToRefresh/index.tsx +++ b/src/components/PullToRefresh/index.tsx @@ -249,16 +249,18 @@ export const PullToRefresh = React.forwardRef
{renderIndicator(status, distance)}
{!disabled && useFallback && ( - typeof loadMoreText === 'function' ? ( - loadMoreText(handleLoadMore) - ) : ( - - {renderIndicator(status, oDistance)} - - - ) + + {typeof loadMoreText === 'function' ? ( + loadMoreText(handleLoadMore) + ) : ( + <> + {renderIndicator(status, oDistance)} + + + )} + )} {React.Children.only(children)}