diff --git a/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-info.ts b/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-info.ts index d1ddc55392..d0aa043688 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-info.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-info.ts @@ -195,6 +195,7 @@ export class TableInfo extends S2ChartView { } } else { // header interaction + chart.container = container this.configHeaderInteraction(chart, s2Options) } // 开始渲染 diff --git a/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-normal.ts b/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-normal.ts index aefa5e3116..5171b8aae8 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-normal.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/charts/table/table-normal.ts @@ -166,6 +166,7 @@ export class TableNormal extends S2ChartView { } } else { // header interaction + chart.container = container this.configHeaderInteraction(chart, s2Options) } diff --git a/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts b/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts index 1255f1a32f..6fd505b617 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/common/common_table.ts @@ -901,6 +901,19 @@ export function configHeaderInteraction(chart: Chart, option: S2Options) { event, ...props }) + const parent = document.getElementById(chart.container) + if (parent?.childNodes?.length) { + const child = Array.from(parent.childNodes) + .filter(node => node.nodeType === Node.ELEMENT_NODE) + .find(node => node.classList.contains('antv-s2-tooltip-container')) + if (child) { + const left = child.offsetLeft + child.clientWidth + if (left > parent.offsetWidth) { + const newLeft = parent.offsetWidth - child.clientWidth - 10 + child.style.left = `${newLeft}px` + } + } + } } } ]