diff --git a/web/app/components/datasets/create/step-two/hooks/use-indexing-config.ts b/web/app/components/datasets/create/step-two/hooks/use-indexing-config.ts index 74924de6dc..881a9fb043 100644 --- a/web/app/components/datasets/create/step-two/hooks/use-indexing-config.ts +++ b/web/app/components/datasets/create/step-two/hooks/use-indexing-config.ts @@ -1,7 +1,7 @@ import type { DefaultModel } from '@/app/components/header/account-setting/model-provider-page/declarations' import type { SummaryIndexSetting as SummaryIndexSettingType } from '@/models/datasets' import type { RetrievalConfig } from '@/types/app' -import { useEffect, useMemo, useState } from 'react' +import { useCallback, useEffect, useMemo, useRef, useState } from 'react' import { checkShowMultiModalTip } from '@/app/components/datasets/settings/utils' import { ModelTypeEnum } from '@/app/components/header/account-setting/model-provider-page/declarations' import { useDefaultModel, useModelList, useModelListAndDefaultModelAndCurrentProviderAndModel } from '@/app/components/header/account-setting/model-provider-page/hooks' @@ -122,6 +122,12 @@ export const useIndexingConfig = (options: UseIndexingConfigOptions) => { const [summaryIndexSetting, setSummaryIndexSetting] = useState( initialSummaryIndexSetting ?? undefined, ) + const summaryIndexSettingRef = useRef(initialSummaryIndexSetting ?? undefined) + + const handleSummaryIndexSettingChange = useCallback((payload: SummaryIndexSettingType) => { + setSummaryIndexSetting({ ...summaryIndexSettingRef.current, ...payload }) + summaryIndexSettingRef.current = { ...summaryIndexSettingRef.current, ...payload } + }, []) return { // Index type @@ -148,7 +154,7 @@ export const useIndexingConfig = (options: UseIndexingConfigOptions) => { // Summary index setting summaryIndexSetting, - setSummaryIndexSetting, + handleSummaryIndexSettingChange, } } diff --git a/web/app/components/datasets/create/step-two/index.tsx b/web/app/components/datasets/create/step-two/index.tsx index 8302c1afbe..4dfccb9381 100644 --- a/web/app/components/datasets/create/step-two/index.tsx +++ b/web/app/components/datasets/create/step-two/index.tsx @@ -219,7 +219,7 @@ const StepTwo: FC = ({ onReset={segmentation.resetToDefaults} locale={locale} summaryIndexSetting={indexing.summaryIndexSetting} - onSummaryIndexSettingChange={indexing.setSummaryIndexSetting} + onSummaryIndexSettingChange={indexing.handleSummaryIndexSettingChange} /> )} {showParentChildOption && ( @@ -240,7 +240,7 @@ const StepTwo: FC = ({ onPreview={updatePreview} onReset={segmentation.resetToDefaults} summaryIndexSetting={indexing.summaryIndexSetting} - onSummaryIndexSettingChange={indexing.setSummaryIndexSetting} + onSummaryIndexSettingChange={indexing.handleSummaryIndexSettingChange} /> )}