From 4c07bf8c3f88d264f0c0395e9083ce58271c6d3c Mon Sep 17 00:00:00 2001 From: YFAnt <15733275162@163.com> Date: Fri, 28 Feb 2025 16:01:34 +0800 Subject: [PATCH 1/3] fix: table toolbar popup malposition in tdesign drawer --- packages/cherry-markdown/src/toolbars/hooks/Table.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/cherry-markdown/src/toolbars/hooks/Table.js b/packages/cherry-markdown/src/toolbars/hooks/Table.js index 5dfc8caeb..51e230d0e 100644 --- a/packages/cherry-markdown/src/toolbars/hooks/Table.js +++ b/packages/cherry-markdown/src/toolbars/hooks/Table.js @@ -38,8 +38,15 @@ export default class Table extends MenuBase { if (this.subBubbleTableMenu.dom.style.display === 'none' || !this.hasCacheOnce()) { // 插入表格,会出现一个二维面板,用户可以通过点击决定插入表格的行号和列号 const pos = this.dom.getBoundingClientRect(); - this.subBubbleTableMenu.dom.style.left = `${pos.left + pos.width}px`; - this.subBubbleTableMenu.dom.style.top = `${pos.top + pos.height}px`; + // 使用绝对定位,相对于编辑器容器定位,而不是相对于视口 + // 获取编辑器容器的位置信息 + const editorContainer = this.$cherry.editor.options.wrapperDom; + const containerRect = editorContainer.getBoundingClientRect(); + const relativeLeft = pos.left - containerRect.left + pos.width; + const relativeTop = pos.top - containerRect.top + pos.height; + this.subBubbleTableMenu.dom.style.position = 'absolute'; + this.subBubbleTableMenu.dom.style.left = `${relativeLeft}px`; + this.subBubbleTableMenu.dom.style.top = `${relativeTop}px`; this.subBubbleTableMenu.show((row, col) => { const headerText = ' Header |'.repeat(col); const controlText = ' ------ |'.repeat(col); From a05b34fc9f304e664a023030f191f49c5d13cd27 Mon Sep 17 00:00:00 2001 From: YFAnt <15733275162@163.com> Date: Fri, 28 Feb 2025 16:03:51 +0800 Subject: [PATCH 2/3] fix: changeset --- .changeset/clean-hotels-sparkle.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/clean-hotels-sparkle.md diff --git a/.changeset/clean-hotels-sparkle.md b/.changeset/clean-hotels-sparkle.md new file mode 100644 index 000000000..cd86f6ef7 --- /dev/null +++ b/.changeset/clean-hotels-sparkle.md @@ -0,0 +1,5 @@ +--- +'cherry-markdown': patch +--- + +table toolbar popup malposition in tdesign drawer From 5a1578336827035703ff4418cd0b7b091f13708a Mon Sep 17 00:00:00 2001 From: YFAnt <15733275162@163.com> Date: Fri, 28 Feb 2025 16:04:15 +0800 Subject: [PATCH 3/3] fix: changeset --- .changeset/clean-hotels-sparkle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/clean-hotels-sparkle.md b/.changeset/clean-hotels-sparkle.md index cd86f6ef7..caaf9c78a 100644 --- a/.changeset/clean-hotels-sparkle.md +++ b/.changeset/clean-hotels-sparkle.md @@ -2,4 +2,4 @@ 'cherry-markdown': patch --- -table toolbar popup malposition in tdesign drawer +fix: table toolbar popup malposition in tdesign drawer