diff --git a/CHANGELOG.md b/CHANGELOG.md index 396ec03..a18a9b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ + [修复] 画布组装提示词浮层限制正文高度,长提示词改为区域内滚动查看。 + [修复] 修复画布节点提示词过长时无法使用鼠标滚轮滚动的问题。 + [修复] 修复画布重试时组装提示词重复以及切换类型调用模型不一致的问题。 ++ [修复] 修复生成完成后再次选中画布节点时提示词不再回显的问题。 ## v0.10.0 - 2026-07-25 diff --git a/docs/content/docs/progress/pending-test.mdx b/docs/content/docs/progress/pending-test.mdx index 5f116df..af6bdae 100644 --- a/docs/content/docs/progress/pending-test.mdx +++ b/docs/content/docs/progress/pending-test.mdx @@ -9,6 +9,7 @@ description: 当前版本已实现但仍需人工验证的变更项 - 视频创作台参考资产:将图片、MP4/MOV 视频或 MP3/WAV 音频拖入任一参考资产区域后,应按文件类型自动上传到对应列表;当前拖入区域应显示高亮提示,原有数量、大小、时长和格式限制应继续生效。 - 画布组装提示词:输入或连接超长提示词后,浮层正文高度不应继续撑大,内容应可在正文区域内滚动查看和编辑,标题及关闭按钮保持可见。 - 画布节点提示词:图片等节点下方的提示词超过输入区域高度后,鼠标悬停在输入区域内滚动应查看提示词内容,不应缩放画布。 +- 画布节点提示词回显:单图或多图生成完成后,切换选择生成结果的根节点及任一子节点,下方输入区域都应继续显示生成时的提示词;切换到其他节点再选回来后也不应清空。 - 画布生成配置:连接文本节点后连续点击生成(包含失败重试),组装提示词不应重复追加上游文本;在生图、文本、视频、音频之间切换时,实际请求应始终使用当前面板展示的对应类型模型。 - 画布左侧元素列表:点击元素整行应平滑定位并选中对应节点;有内容的图片元素应显示预览按钮,点击后打开大图弹窗且不触发画布定位。 - 配置与用户偏好:导出 JSON 后应包含渠道、默认模型、生成偏好、提示词来源和 WebDAV 配置;在修改当前配置后重新导入该文件,应恢复导出时的设置,错误 JSON 文件应提示格式不正确。配置文件包含 API Key 和 WebDAV 凭据,不应公开分享。 diff --git a/web/src/components/canvas/canvas-node-prompt-panel.tsx b/web/src/components/canvas/canvas-node-prompt-panel.tsx index c191e8f..16743a7 100644 --- a/web/src/components/canvas/canvas-node-prompt-panel.tsx +++ b/web/src/components/canvas/canvas-node-prompt-panel.tsx @@ -37,11 +37,11 @@ export function CanvasNodePromptPanel({ node, isRunning, onPromptChange, onConfi const hasTextContent = node.type === CanvasNodeType.Text && Boolean(node.metadata?.content?.trim()); const hasImageContent = node.type === CanvasNodeType.Image && Boolean(node.metadata?.content); const isEditingExistingContent = hasTextContent || hasImageContent; - const [prompt, setPrompt] = useState(isEditingExistingContent ? "" : node.metadata?.prompt || ""); + const [prompt, setPrompt] = useState(node.metadata?.prompt || ""); - // 仅在切换到其它节点时重置输入框;同一节点生成完成后(内容写回自身导致 isEditingExistingContent 变化)保留用户输入 + // 仅在切换到其它节点时恢复对应提示词;同一节点生成完成后继续保留当前输入。 useEffect(() => { - setPrompt(isEditingExistingContent ? "" : node.metadata?.prompt || ""); + setPrompt(node.metadata?.prompt || ""); // eslint-disable-next-line react-hooks/exhaustive-deps }, [node.id]);