feat: Enhance CardView and DatasetManagement with loading state and pagination updates

This commit is contained in:
chenghh-9609
2025-10-23 16:56:36 +08:00
parent aba7a3e1fb
commit 4e53cc813b
6 changed files with 22 additions and 54 deletions

View File

@@ -23,7 +23,8 @@ export default function useFetchData<T>(
mapDataFunc: (data: AnyObject) => T = (data) => data as T,
pollingInterval: number = 30000, // 默认30秒轮询一次
autoRefresh: boolean = true,
additionalPollingFuncs: (() => Promise<any>)[] = [] // 额外的轮询函数
additionalPollingFuncs: (() => Promise<any>)[] = [], // 额外的轮询函数
pageOffset: number = 1
) {
const { message } = App.useApp();
@@ -88,7 +89,6 @@ export default function useFetchData<T>(
const fetchData = useCallback(
async (extraParams = {}, skipPollingRestart = false) => {
const { keyword, filter, current, pageSize } = searchParams;
if (!skipPollingRestart) {
Loading.show();
setLoading(true);
@@ -110,7 +110,7 @@ export default function useFetchData<T>(
type: getFirstOfArray(filter?.type) || undefined,
status: getFirstOfArray(filter?.status) || undefined,
tags: filter?.tags?.length ? filter.tags.join(",") : undefined,
page: current - 1,
page: current - pageOffset,
size: pageSize,
}),
...additionalPollingFuncs.map((func) => func()),