diff --git a/apps/web/src/pages/generate/hooks/useStep4Title/index.ts b/apps/web/src/pages/generate/hooks/useStep4Title/index.ts index 8898bba53..3f6aaac81 100644 --- a/apps/web/src/pages/generate/hooks/useStep4Title/index.ts +++ b/apps/web/src/pages/generate/hooks/useStep4Title/index.ts @@ -38,11 +38,21 @@ export function useStep4Title({ titleSettings, onTitleSettingsChange }: UseStep4 // 样式更新 const styleUpdaters = useTitleStyleUpdaters({ titleSettings, onTitleSettingsChange }) - // 追踪是否第一次渲染,避免初始加载时误触发 + // 追踪 AI 自动选择开关的上一次值 & 是否首次挂载 const prevAiAutoSelect = useRef(titleSettings.aiAutoSelect) + const isFirstMount = useRef(true) // 当 AI 自动选择开关打开时,自动生成/选择一个标题填入 + // 首次挂载时如果开关已经是 true 且无标题,也需要触发 useEffect(() => { + if (isFirstMount.current) { + isFirstMount.current = false + if (titleSettings.aiAutoSelect && !titleSettings.title) { + autoGenerateTitle() + } + prevAiAutoSelect.current = titleSettings.aiAutoSelect + return + } if (titleSettings.aiAutoSelect && !prevAiAutoSelect.current && !titleSettings.title) { autoGenerateTitle() }