diff --git a/core/core-frontend/src/utils/DeShortcutKey.ts b/core/core-frontend/src/utils/DeShortcutKey.ts index f1bef64f21..a3465ded97 100644 --- a/core/core-frontend/src/utils/DeShortcutKey.ts +++ b/core/core-frontend/src/utils/DeShortcutKey.ts @@ -174,17 +174,30 @@ function move(keyCode) { if (curComponent.value) { if (keyCode === leftKey) { curComponent.value.style.left = --curComponent.value.style.left + groupAreaAdaptor(-1, 0) } else if (keyCode === rightKey) { curComponent.value.style.left = ++curComponent.value.style.left + groupAreaAdaptor(1, 0) } else if (keyCode === upKey) { curComponent.value.style.top = --curComponent.value.style.top + groupAreaAdaptor(0, -1) } else if (keyCode === downKey) { curComponent.value.style.top = ++curComponent.value.style.top + groupAreaAdaptor(0, 1) } snapshotStore.recordSnapshotCache('key-move') } } +function groupAreaAdaptor(leftOffset = 0, topOffset = 0) { + if (curComponent.value.component === 'GroupArea') { + composeStore.areaData.components.forEach(component => { + component.style.top = component.style.top + topOffset + component.style.left = component.style.left + leftOffset + }) + } +} + function cut() { copyStore.cut() }