mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-06-19 12:09:25 +08:00
fix(editor): 右键菜单粘贴的组件位置不对
This commit is contained in:
parent
c80dab835d
commit
26081ea5cc
@ -69,8 +69,20 @@ export default defineComponent({
|
|||||||
text: '粘贴',
|
text: '粘贴',
|
||||||
display: () => canPaste.value,
|
display: () => canPaste.value,
|
||||||
handler: () => {
|
handler: () => {
|
||||||
const top = menu.value?.$el.offsetTop || 0;
|
const stage = editorService?.get<StageCore>('stage');
|
||||||
const left = menu.value?.$el.offsetLeft || 0;
|
|
||||||
|
const rect = menu.value?.$el.getBoundingClientRect();
|
||||||
|
const parentRect = stage?.container?.getBoundingClientRect();
|
||||||
|
let left = (rect?.left || 0) - (parentRect?.left || 0);
|
||||||
|
let top = (rect?.top || 0) - (parentRect?.top || 0);
|
||||||
|
|
||||||
|
if (node.value?.items && stage) {
|
||||||
|
const parentEl = stage.renderer.contentWindow?.document.getElementById(`${node.value.id}`);
|
||||||
|
const parentElRect = parentEl?.getBoundingClientRect();
|
||||||
|
left = left - (parentElRect?.left || 0);
|
||||||
|
top = top - (parentElRect?.top || 0);
|
||||||
|
}
|
||||||
|
|
||||||
editorService?.paste({ left, top });
|
editorService?.paste({ left, top });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user