From 58ffd6d10fc9e3d5257388f76875015c8ec0c280 Mon Sep 17 00:00:00 2001 From: naharbi Date: Sun, 25 May 2025 10:49:29 +0300 Subject: [PATCH] fix: datatable don't reset pagination on init - don't set currentPage to 0 on first render - remove searchParams internal state --- src/data-table/RruDataTable.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/data-table/RruDataTable.tsx b/src/data-table/RruDataTable.tsx index 1ddba83..8e72f1c 100644 --- a/src/data-table/RruDataTable.tsx +++ b/src/data-table/RruDataTable.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { FC, useEffect, useState } from 'react'; +import { FC, useEffect, useRef, useState } from 'react'; import { resolveObjectAttribute } from '../utils/utils'; import useDataSource from './hooks/useDataSource'; import PaginationView from './pagination/PaginationView'; @@ -40,10 +40,13 @@ const RruDataTable: FC = ({ const [currentPage, setCurrentPage] = useState(defaultPageNumber || 0); const [sortKey, setSortKey] = useState(defaultSortKey); const [sortDir, setSortDir] = useState(defaultSortDir); - const [searchParams, setSearchParams] = useState(search); + const hasInit = useRef(false); useEffect(() => { - setSearchParams(search); + if(!hasInit.current) { + hasInit.current = true; + return; + } setCurrentPage(0); }, [search]); @@ -53,7 +56,7 @@ const RruDataTable: FC = ({ currentPage, sortKey, sortDir, - searchParams, + search, onChange );