From 3f854b6912d5af5ffeeb9bda403d5a7ebe659522 Mon Sep 17 00:00:00 2001 From: wjx Date: Sun, 11 Jan 2026 15:54:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=82=AC=E6=B5=AE=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E5=8A=A0=E5=85=A5=E5=B7=A5=E4=BD=9C=E5=8C=BA?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=8B=96=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/component/HighlightBox.tsx | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/amis-editor-core/src/component/HighlightBox.tsx b/packages/amis-editor-core/src/component/HighlightBox.tsx index 544d7e7c30c..787c9078eab 100644 --- a/packages/amis-editor-core/src/component/HighlightBox.tsx +++ b/packages/amis-editor-core/src/component/HighlightBox.tsx @@ -225,16 +225,22 @@ export default observer(function ({ (isActive && !store.activeElement) || ~store.selections.indexOf(id); React.useLayoutEffect(() => { - if (!node.draggable || !isSelected || !isAlive(node)) { - return; - } - const dom = node.getTarget() as HTMLElement; - const targets = Array.isArray(dom) ? dom : dom ? [dom] : []; - targets.forEach(item => { - item.setAttribute('draggable', 'true'); - item.addEventListener('dragstart', handleDragStart as any); - }); + let targets: HTMLElement[] = []; + + const timer = setTimeout(() => { + if (!node.draggable || !isSelected || !isAlive(node)) { + return; + } + const dom = node.getTarget() as HTMLElement; + targets = Array.isArray(dom) ? dom : dom ? [dom] : []; + targets.forEach(item => { + item.setAttribute('draggable', 'true'); + item.addEventListener('dragstart', handleDragStart as any); + }); + }, 150); + return () => { + clearTimeout(timer); targets.forEach(item => { item.removeAttribute('draggable'); item.removeEventListener('dragstart', handleDragStart as any);