diff --git a/packages/designer/src/component-meta.ts b/packages/designer/src/component-meta.ts index 398f827d2..d3f75fc6c 100644 --- a/packages/designer/src/component-meta.ts +++ b/packages/designer/src/component-meta.ts @@ -439,15 +439,17 @@ const builtinComponentActions: ComponentAction[] = [ const { isRGL, rglNode } = node.getRGL(); if (isRGL) { // 复制layout信息 - let layout = rglNode.getPropValue('layout'); + let layout = rglNode.getPropValue('layout') || []; let curLayout = layout.filter((item) => item.i === node.getPropValue('fieldId')); - layout.push({ - ...curLayout[0], - i: newNode.getPropValue('fieldId'), - }); - rglNode.setPropValue('layout', layout); - // 如果是磁贴块复制,则需要滚动到影响位置 - setTimeout(() => newNode.document.simulator?.scrollToNode(newNode), 10); + if (curLayout && curLayout[0]) { + layout.push({ + ...curLayout[0], + i: newNode.getPropValue('fieldId'), + }); + rglNode.setPropValue('layout', layout); + // 如果是磁贴块复制,则需要滚动到影响位置 + setTimeout(() => newNode.document.simulator?.scrollToNode(newNode), 10); + } } } },