fix: honor requested list rows and preserve ai table data

This commit is contained in:
Codex committed 2026-09-19 20:51:55 +08:00
1 parent 43f30b9a84
commit 96d3ec6c17
3 files changed
+98 -32

No files matched your search

@@ -87,10 +87,13 @@ export function useCanvasBatchTable({ nodesRef, connectionsRef, setNodes, setCon
}, [message, nodesRef, patchTable]);
const syncRowsFromConnections = useCallback((nodeId: string, silent = false) => {
const node = nodesRef.current.find((item) => item.id === nodeId);
const table = node?.metadata?.batchTable;
if (!node || !table) return false;
const nodeById = new Map(nodesRef.current.map((item) => [item.id, item]));
const node = nodesRef.current.find((item) => item.id === nodeId);
const table = node?.metadata?.batchTable;
if (!node || !table) return false;
// AI 列表模式已经根据用户要求生成了独立行;参考图连线只负责
// 提供素材,不能在保存/连线刷新时把 N 行重置成“每张图一行”。
if (table.aiGenerated) return false;
const nodeById = new Map(nodesRef.current.map((item) => [item.id, item]));
const columns = batchInputColumns(node, connectionsRef.current).map((column) => column.filter((inputNodeId) => {
const input = nodeById.get(inputNodeId);
return input?.type === CanvasNodeType.Image && Boolean(input.metadata?.content || input.metadata?.storageKey);