From 031c7f25f10a6cfebfc7929c9226f4e4167a359f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LeoYuan=20=E8=A2=81=E5=8A=9B=E7=9A=93?= Date: Wed, 1 Jun 2022 16:42:53 +0800 Subject: [PATCH] fix: fix outline-pane invisible occasionally when dragging tree node --- packages/editor-skeleton/src/layouts/left-float-pane.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/editor-skeleton/src/layouts/left-float-pane.tsx b/packages/editor-skeleton/src/layouts/left-float-pane.tsx index aa8bd7e27..dbfd07e3b 100644 --- a/packages/editor-skeleton/src/layouts/left-float-pane.tsx +++ b/packages/editor-skeleton/src/layouts/left-float-pane.tsx @@ -16,6 +16,8 @@ export default class LeftFloatPane extends Component<{ area: Area }> const { area } = this.props; const triggerClose = (e: any) => { if (!area.visible) return; + // 当 MouseEvent 的 target 为「插入占位符」时,不关闭当前 panel + if (e.originalEvent?.target?.classList.contains('insertion')) return; // 假如当前操作 target 祖先节点中有属性 data-keep-visible-while-dragging="true" 代表该 target 所属 panel // 不希望 target 在 panel 范围内拖拽时关闭 panel const panelElem = e.originalEvent?.target.closest('div[data-keep-visible-while-dragging="true"]');