From d00e5a724b632069782dc4d883209e89c7662841 Mon Sep 17 00:00:00 2001 From: Ordinary Date: Wed, 22 Nov 2023 00:27:37 +0800 Subject: [PATCH 1/3] fix(usePagination): fix not using initialPage as a baseline when watch changes and changing isLastPage status --- src/hooks/pagination/usePagination.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/hooks/pagination/usePagination.js b/src/hooks/pagination/usePagination.js index c11a0a9..35db3cc 100644 --- a/src/hooks/pagination/usePagination.js +++ b/src/hooks/pagination/usePagination.js @@ -83,9 +83,9 @@ export default function ( return handlerMethod; }; - // 监听状态变化时,重置page为1 + // 监听状态变化时,重置page为${initialPage} watch$(watchingStates, () => { - upd$(page, 1); + upd$(page, initialPage); isReset.current = trueValue; }); @@ -196,7 +196,8 @@ export default function ( const pageVal = _$(page); const pageCountVal = _$(pageCount); const dataLen = isArray(statesDataVal) ? len(statesDataVal) : 0; - return pageCountVal ? pageVal >= pageCountVal : dataLen < _$(pageSize); + //Calculate length:currentIndex - startIndex + 1 + return pageCountVal ? pageVal - initialPage + 1 >= pageCountVal : dataLen < _$(pageSize); }, _expBatch$(page, pageCount, states.data, pageSize), trueValue From fbcec176941c1a9c84291a4ab551ca17b303da92 Mon Sep 17 00:00:00 2001 From: Ordinary Date: Wed, 22 Nov 2023 02:16:18 +0800 Subject: [PATCH 2/3] fix(usePagination): fix still preloading when reaching the last page --- src/hooks/pagination/usePagination.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hooks/pagination/usePagination.js b/src/hooks/pagination/usePagination.js index 35db3cc..3aa7a1e 100644 --- a/src/hooks/pagination/usePagination.js +++ b/src/hooks/pagination/usePagination.js @@ -162,7 +162,7 @@ export default function ( const pageCountVal = _$(pageCount); const exceedPageCount = pageCountVal - ? preloadPage > pageCountVal + ? preloadPage - initialPage + 1 > pageCountVal : isNextPage // 如果是判断预加载下一页数据且没有pageCount的情况下,通过最后一页数据量是否达到pageSize来判断 ? len(listDataGetter(rawData)) < _$(pageSize) : falseValue; @@ -251,8 +251,8 @@ export default function ( const { total: cachedTotal } = getSnapshotMethods(method) || {}; upd$(total, cachedTotal !== undefinedValue ? cachedTotal : totalGetter(rawData)); if (!isRefresh) { - fetchPreviousPage(rawData); - fetchNextPage(rawData); + fetchPreviousPage(rawData); + fetchNextPage(rawData); } const pageSizeVal = _$(pageSize); From f55c0ec423d7651e360a42bce244173a9fc5a1ba Mon Sep 17 00:00:00 2001 From: Ordinary Date: Wed, 22 Nov 2023 02:22:25 +0800 Subject: [PATCH 3/3] style(usePagination): prettier --- src/hooks/pagination/usePagination.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hooks/pagination/usePagination.js b/src/hooks/pagination/usePagination.js index 3aa7a1e..fed12f6 100644 --- a/src/hooks/pagination/usePagination.js +++ b/src/hooks/pagination/usePagination.js @@ -162,7 +162,7 @@ export default function ( const pageCountVal = _$(pageCount); const exceedPageCount = pageCountVal - ? preloadPage - initialPage + 1 > pageCountVal + ? preloadPage - initialPage + 1 > pageCountVal : isNextPage // 如果是判断预加载下一页数据且没有pageCount的情况下,通过最后一页数据量是否达到pageSize来判断 ? len(listDataGetter(rawData)) < _$(pageSize) : falseValue; @@ -251,8 +251,8 @@ export default function ( const { total: cachedTotal } = getSnapshotMethods(method) || {}; upd$(total, cachedTotal !== undefinedValue ? cachedTotal : totalGetter(rawData)); if (!isRefresh) { - fetchPreviousPage(rawData); - fetchNextPage(rawData); + fetchPreviousPage(rawData); + fetchNextPage(rawData); } const pageSizeVal = _$(pageSize);