diff --git a/web/app/components/workflow/nodes/knowledge-retrieval/node.tsx b/web/app/components/workflow/nodes/knowledge-retrieval/node.tsx index b32229818f..3b8357873b 100644 --- a/web/app/components/workflow/nodes/knowledge-retrieval/node.tsx +++ b/web/app/components/workflow/nodes/knowledge-retrieval/node.tsx @@ -1,4 +1,4 @@ -import { type FC, useEffect, useState } from 'react' +import { type FC, useEffect, useRef, useState } from 'react' import React from 'react' import type { KnowledgeRetrievalNodeType } from './types' import { Folder } from '@/app/components/base/icons/src/vender/solid/files' @@ -10,10 +10,17 @@ const Node: FC> = ({ data, }) => { const [selectedDatasets, setSelectedDatasets] = useState([]) + const updateTime = useRef(0) useEffect(() => { (async () => { + updateTime.current = updateTime.current + 1 + const currUpdateTime = updateTime.current + if (data.dataset_ids?.length > 0) { const { data: dataSetsWithDetail } = await fetchDatasets({ url: '/datasets', params: { page: 1, ids: data.dataset_ids } }) + // avoid old data overwrite new data + if (currUpdateTime < updateTime.current) + return setSelectedDatasets(dataSetsWithDetail) } else { @@ -33,7 +40,7 @@ const Node: FC> = ({
-
+
{name}