在编辑器内进行拖拽时,startDrag 函数被调用两次,导致每次拖拽都会在 body 中插入一个 ae-DragImage 拖拽跟随元素。由于amis线上header背景是纯色,遮挡了ae-DragImage无法看到这个元素;只有在背景为渐变色时才能发现。此问题在试图结构中拖拽不会出现,但在编辑器内拖拽时会触发。
直接在编辑器内对元素进行拖拽,打开控制台即可发现会有未销毁的拖拽跟随元素
ttp71kqs1#
问题代码应该是在amis/packages/amis-editor-core/src/component/HighlightBox.tsx
amis/packages/amis-editor-core/src/plugin/BasicToolbar.tsx内传递了子元素按钮的事件处理
父元素外层 div和子元素(按钮)都有 onDragStart 事件,导致事件冒泡,触发两个处理器,导致前面说到的问题。
1条答案
按热度按时间ttp71kqs1#
问题代码应该是在
amis/packages/amis-editor-core/src/component/HighlightBox.tsx
amis/packages/amis-editor-core/src/plugin/BasicToolbar.tsx内传递了子元素按钮的事件处理
父元素外层 div和子元素(按钮)都有 onDragStart 事件,导致事件冒泡,触发两个处理器,导致前面说到的问题。