From 33a09cccc7548a1264daaec9b77c3ff924b2969b Mon Sep 17 00:00:00 2001 From: roymondchen Date: Wed, 14 Sep 2022 18:31:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(stage):=20=E5=BD=93=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E4=BB=B6=E4=B8=8E=E4=B8=8A=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E7=9A=84=E7=BB=84=E4=BB=B6=E6=9C=89=E9=87=8D?= =?UTF-8?q?=E5=8F=A0=E6=97=B6=EF=BC=8C=E9=80=89=E4=B8=AD=E5=90=8E=E7=9A=84?= =?UTF-8?q?=E4=B8=8B=E4=B8=80=E4=B8=AAclick=E4=BA=8B=E4=BB=B6=E4=B8=A2?= =?UTF-8?q?=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/stage/src/StageDragResize.ts | 14 +++++++++++--- packages/stage/src/TargetCalibrate.ts | 2 +- packages/stage/src/const.ts | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/stage/src/StageDragResize.ts b/packages/stage/src/StageDragResize.ts index d135ded5..3766ebe0 100644 --- a/packages/stage/src/StageDragResize.ts +++ b/packages/stage/src/StageDragResize.ts @@ -96,6 +96,11 @@ export default class StageDragResize extends EventEmitter { const oldTarget = this.target; this.target = el; + if (!this.dragEl) { + this.dragEl = globalThis.document.createElement('div'); + this.container.append(this.dragEl); + } + // 从不能拖动到能拖动的节点之间切换,要重新创建moveable,不然dragStart不生效 if (!this.moveable || this.target !== oldTarget) { this.init(el); @@ -157,6 +162,7 @@ export default class StageDragResize extends EventEmitter { public clearSelectStatus(): void { if (!this.moveable) return; this.destroyDragEl(); + this.dragEl = undefined; this.moveable.target = null; this.moveable.updateTarget(); } @@ -184,9 +190,11 @@ export default class StageDragResize extends EventEmitter { this.mode = getMode(el); this.destroyGhostEl(); - this.destroyDragEl(); - this.dragEl = globalThis.document.createElement('div'); - this.container.append(this.dragEl); + + if (!this.dragEl) { + return; + } + this.dragEl.style.cssText = getTargetElStyle(el); this.dragEl.id = `${DRAG_EL_ID_PREFIX}${el.id}`; diff --git a/packages/stage/src/TargetCalibrate.ts b/packages/stage/src/TargetCalibrate.ts index 21f5624c..5731654f 100644 --- a/packages/stage/src/TargetCalibrate.ts +++ b/packages/stage/src/TargetCalibrate.ts @@ -57,7 +57,7 @@ export default class TargetCalibrate extends EventEmitter { top: ${top}px; width: ${el.clientWidth}px; height: ${el.clientHeight}px; - z-index: ${ZIndex.DRAG_EL}; + z-index: ${ZIndex.HIGHLIGHT_EL}; `; this.operationEl.id = `${prefix}${el.id}`; diff --git a/packages/stage/src/const.ts b/packages/stage/src/const.ts index fc9c08c8..68508921 100644 --- a/packages/stage/src/const.ts +++ b/packages/stage/src/const.ts @@ -48,6 +48,7 @@ export enum ZIndex { SELECTED_EL = '666', GHOST_EL = '700', DRAG_EL = '9', + HIGHLIGHT_EL = '8', } /** 鼠标按键 */