Fix dataset selector to continue scoll if still have data (#17534)

1. controll scoll paging by total
2. show dataset but won't allow them to choose.
This commit is contained in:
Wang Qi
2026-07-29 18:48:47 +08:00
committed by GitHub
parent 2a4e77c5ae
commit 0583f8c79d
2 changed files with 33 additions and 28 deletions

View File

@@ -1019,7 +1019,7 @@ export const useFetchKnowledgeList = (
handleScroll: (e: React.UIEvent<HTMLDivElement>) => void;
} => {
const { data, fetchNextPage, hasNextPage, isFetching, isFetchingNextPage } =
useInfiniteQuery<{ items: IDataset[] }>({
useInfiniteQuery<{ items: IDataset[]; total: number }>({
queryKey: KnowledgeListKeys.list(
shouldFilterListWithoutDocument,
keywords,
@@ -1034,10 +1034,15 @@ export const useFetchKnowledgeList = (
page_size: pageSize,
...(keywords ? { ext: { keywords } } : {}),
});
return { items: (data?.data ?? []) as IDataset[] };
return {
items: (data?.data ?? []) as IDataset[],
total: data?.total_datasets ?? 0,
};
},
getNextPageParam: (lastPage, allPages) => {
const loaded = allPages.reduce((total, page) => total + page.items.length, 0);
return loaded < lastPage.total ? allPages.length + 1 : undefined;
},
getNextPageParam: (lastPage, allPages) =>
lastPage.items.length >= pageSize ? allPages.length + 1 : undefined,
});
const list = useMemo(() => {