diff --git a/web/src/hooks/use-chat-request.ts b/web/src/hooks/use-chat-request.ts
index c370e2cf90..b57378f2b3 100644
--- a/web/src/hooks/use-chat-request.ts
+++ b/web/src/hooks/use-chat-request.ts
@@ -81,7 +81,7 @@ export const useFetchChatList = () => {
...pagination,
},
],
- initialData: { chats: [], total: 0 },
+ placeholderData: (previousData) => previousData ?? { chats: [], total: 0 },
gcTime: 0,
refetchOnWindowFocus: false,
queryFn: async () => {
diff --git a/web/src/hooks/use-knowledge-request.ts b/web/src/hooks/use-knowledge-request.ts
index e88c7828bb..fb5ae2b0d2 100644
--- a/web/src/hooks/use-knowledge-request.ts
+++ b/web/src/hooks/use-knowledge-request.ts
@@ -169,10 +169,8 @@ export const useFetchNextKnowledgeListByPage = () => {
filterValue,
},
],
- initialData: {
- kbs: [],
- total_datasets: 0,
- },
+ placeholderData: (previousData) =>
+ previousData ?? { kbs: [], total_datasets: 0 },
gcTime: 0,
queryFn: async () => {
const { data } = await listDataset({
diff --git a/web/src/pages/datasets/index.tsx b/web/src/pages/datasets/index.tsx
index fee6b0c6ac..2663efbacb 100644
--- a/web/src/pages/datasets/index.tsx
+++ b/web/src/pages/datasets/index.tsx
@@ -5,6 +5,7 @@ import ListFilterBar from '@/components/list-filter-bar';
import { RenameDialog } from '@/components/rename-dialog';
import { Button } from '@/components/ui/button';
import { RAGFlowPagination } from '@/components/ui/ragflow-pagination';
+import { Spin } from '@/components/ui/spin';
import { useFetchNextKnowledgeListByPage } from '@/hooks/use-knowledge-request';
import { useQueryClient } from '@tanstack/react-query';
import { pick } from 'lodash';
@@ -37,6 +38,7 @@ export default function Datasets() {
searchString,
filterValue,
handleFilterSubmit,
+ loading,
} = useFetchNextKnowledgeListByPage();
const owners = useSelectOwners();
@@ -70,7 +72,14 @@ export default function Datasets() {
return (
<>
- {kbs?.length || searchString ? (
+ {loading && !kbs?.length ? (
+
+
+
+ ) : kbs?.length || searchString ? (
- {data.chats?.length || searchString ? (
+ {loading && !data.chats?.length ? (
+
+
+
+ ) : data.chats?.length || searchString ? (