From 9ee265882d94d581de1bd9bb84a62a0e9b07fbec Mon Sep 17 00:00:00 2001 From: xzdry Date: Mon, 17 Oct 2022 22:47:55 +0800 Subject: [PATCH] feat(Table): reset to the first page if there is less data to show --- packages/arco-lib/src/components/Table/Table.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/arco-lib/src/components/Table/Table.tsx b/packages/arco-lib/src/components/Table/Table.tsx index cf153875..30f7eae0 100644 --- a/packages/arco-lib/src/components/Table/Table.tsx +++ b/packages/arco-lib/src/components/Table/Table.tsx @@ -281,6 +281,20 @@ export const Table = implementRuntimeComponent({ }); }, [currentPageData, mergeState, rowKey]); + // If there is less data to display than the current page, reset to the first page + useEffect(() => { + if (useCustomPagination) return; + if (currentPageData.length <= Number(pageSize) * (currentPage - 1)) { + setCurrentPage(1); + } + }, [ + currentPage, + currentPageData.length, + pageSize, + setCurrentPage, + useCustomPagination, + ]); + useEffect(() => { setColumns( cProps.columns!.map((column, i) => {