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

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

View File

@@ -323,18 +323,18 @@ const onResizeMove = (e) => {
case 'nw': case 'nw':
newWidth = Math.max(200, resizeStartSize.value.width - deltaX) newWidth = Math.max(200, resizeStartSize.value.width - deltaX)
newHeight = Math.max(150, resizeStartSize.value.height - deltaY) newHeight = Math.max(150, resizeStartSize.value.height - deltaY)
newLeft = resizeStartPos.value.left + deltaX newLeft = resizeStartAreaPos.value.left + deltaX
newTop = resizeStartPos.value.top + deltaY newTop = resizeStartAreaPos.value.top + deltaY
break break
case 'ne': case 'ne':
newWidth = Math.max(200, resizeStartSize.value.width + deltaX) newWidth = Math.max(200, resizeStartSize.value.width + deltaX)
newHeight = Math.max(150, resizeStartSize.value.height - deltaY) newHeight = Math.max(150, resizeStartSize.value.height - deltaY)
newTop = resizeStartPos.value.top + deltaY newTop = resizeStartAreaPos.value.top + deltaY
break break
case 'sw': case 'sw':
newWidth = Math.max(200, resizeStartSize.value.width - deltaX) newWidth = Math.max(200, resizeStartSize.value.width - deltaX)
newHeight = Math.max(150, resizeStartSize.value.height + deltaY) newHeight = Math.max(150, resizeStartSize.value.height + deltaY)
newLeft = resizeStartPos.value.left + deltaX newLeft = resizeStartAreaPos.value.left + deltaX
break break
case 'se': case 'se':
newWidth = Math.max(200, resizeStartSize.value.width + deltaX) newWidth = Math.max(200, resizeStartSize.value.width + deltaX)