|
@@ -157,9 +157,8 @@ const handleCenter = () => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const handleClick = () => {
|
|
const handleClick = () => {
|
|
|
- // 点击画布空白出
|
|
|
|
|
|
|
+ // 点击画布空白处
|
|
|
projectStore.activePageId = props.page?.id
|
|
projectStore.activePageId = props.page?.id
|
|
|
- projectStore.setSelectWidgets([])
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* ====================处理框选多个组件======================== */
|
|
/* ====================处理框选多个组件======================== */
|
|
@@ -216,6 +215,7 @@ const handleMouseMove = throttle((e: MouseEvent) => {
|
|
|
}, 50)
|
|
}, 50)
|
|
|
/* 鼠标抬起 */
|
|
/* 鼠标抬起 */
|
|
|
const handleMouseUp = (e: MouseEvent) => {
|
|
const handleMouseUp = (e: MouseEvent) => {
|
|
|
|
|
+ projectStore.setSelectWidgets([])
|
|
|
if (!isMouseDown || (startX === 0 && startY === 0)) return
|
|
if (!isMouseDown || (startX === 0 && startY === 0)) return
|
|
|
|
|
|
|
|
isMouseDown.value = false
|
|
isMouseDown.value = false
|
|
@@ -242,13 +242,15 @@ const handleSelectComponent = (startX: number, startY: number, endX: number, end
|
|
|
const widgets = props.page?.children || []
|
|
const widgets = props.page?.children || []
|
|
|
const select = widgets.filter((item) => {
|
|
const select = widgets.filter((item) => {
|
|
|
const { x, y, width, height } = item.props
|
|
const { x, y, width, height } = item.props
|
|
|
- const x1 = Math.min(startX, endX)
|
|
|
|
|
- const x2 = Math.max(startX, endX)
|
|
|
|
|
- const y1 = Math.min(startY, endY)
|
|
|
|
|
- const y2 = Math.max(startY, endY)
|
|
|
|
|
- // 返回判断完全包裹组件
|
|
|
|
|
- return x >= x1 && y >= y1 && x + width <= x2 && y + height <= y2
|
|
|
|
|
|
|
+ const minX = Math.min(startX, endX)
|
|
|
|
|
+ const maxX = Math.max(startX, endX)
|
|
|
|
|
+ const minY = Math.min(startY, endY)
|
|
|
|
|
+ const maxY = Math.max(startY, endY)
|
|
|
|
|
+
|
|
|
|
|
+ // 返回判断包裹的组件
|
|
|
|
|
+ return x >= minX && x + width <= maxX && y >= minY && y + height <= maxY
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
projectStore.setSelectWidgets(select)
|
|
projectStore.setSelectWidgets(select)
|
|
|
}
|
|
}
|
|
|
/* ====================处理框选多个组件======================== */
|
|
/* ====================处理框选多个组件======================== */
|