修复Area组件拖拽四角调整大小功能:修正位置计算逻辑

This commit is contained in:
zqm
2025-11-06 10:30:14 +08:00
parent 4592f25364
commit ee1fc0d54a

View File

@@ -307,7 +307,7 @@ const onResizeStart = (direction, e) => {
}
// 调整大小移动
const onResizeMove = (e) => {
const onResizeMove = (e) => {
if (!isResizing.value) return
const deltaX = e.clientX - resizeStartPos.value.x
@@ -323,18 +323,18 @@ const onResizeMove = (e) => {
case 'nw':
newWidth = Math.max(200, resizeStartSize.value.width - deltaX)
newHeight = Math.max(150, resizeStartSize.value.height - deltaY)
newLeft = resizeStartPos.value.left + deltaX
newTop = resizeStartPos.value.top + deltaY
newLeft = resizeStartAreaPos.value.left + deltaX
newTop = resizeStartAreaPos.value.top + deltaY
break
case 'ne':
newWidth = Math.max(200, resizeStartSize.value.width + deltaX)
newHeight = Math.max(150, resizeStartSize.value.height - deltaY)
newTop = resizeStartPos.value.top + deltaY
newTop = resizeStartAreaPos.value.top + deltaY
break
case 'sw':
newWidth = Math.max(200, resizeStartSize.value.width - deltaX)
newHeight = Math.max(150, resizeStartSize.value.height + deltaY)
newLeft = resizeStartPos.value.left + deltaX
newLeft = resizeStartAreaPos.value.left + deltaX
break
case 'se':
newWidth = Math.max(200, resizeStartSize.value.width + deltaX)