Merge pull request #13651 from dataease/pr@dev-v2@fix_group-move

fix: 修复多选组件无法使用快捷键移动问题
This commit is contained in:
王嘉豪 2024-11-28 16:00:11 +08:00 committed by GitHub
commit 506f2ca552
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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
})
}
}