fix: 修复多选组件无法使用快捷键移动问题

This commit is contained in:
wangjiahao 2024-11-28 15:57:23 +08:00
parent f4c9874af6
commit e7993d7a0a

View File

@ -187,16 +187,16 @@ function move(keyCode) {
const scale = dvMainStore.canvasStyleData.scale / 100
if (keyCode === leftKey) {
curComponent.value.style.left = curComponent.value.style.left - scale
groupAreaAdaptor(-1, 0)
groupAreaAdaptor(-scale, 0)
} else if (keyCode === rightKey) {
curComponent.value.style.left = curComponent.value.style.left + scale
groupAreaAdaptor(1, 0)
groupAreaAdaptor(scale, 0)
} else if (keyCode === upKey) {
curComponent.value.style.top = curComponent.value.style.top - scale
groupAreaAdaptor(0, -1)
groupAreaAdaptor(0, -scale)
} else if (keyCode === downKey) {
curComponent.value.style.top = curComponent.value.style.top + scale
groupAreaAdaptor(0, 1)
groupAreaAdaptor(0, scale)
}
snapshotStore.recordSnapshotCache('key-move')
}
@ -212,6 +212,11 @@ function groupAreaAdaptor(leftOffset = 0, topOffset = 0) {
width: parentNode.offsetWidth,
height: parentNode.offsetHeight
})
} else if (curComponent.value.component === 'GroupArea' && areaData.value.components.length > 0) {
areaData.value.components.forEach(component => {
component.style.top = component.style.top + topOffset
component.style.left = component.style.left + leftOffset
})
}
}