diff --git a/core/core-frontend/src/components/visualization/UserViewEnlarge.vue b/core/core-frontend/src/components/visualization/UserViewEnlarge.vue index 7889169ddd..4589c54d75 100644 --- a/core/core-frontend/src/components/visualization/UserViewEnlarge.vue +++ b/core/core-frontend/src/components/visualization/UserViewEnlarge.vue @@ -325,6 +325,7 @@ const dialogInit = (canvasStyle, view, item, opt, params = { scale: 0.5 }) => { } nextTick(() => { initWatermark() + ChartCarouselTooltip.paused() }) } diff --git a/core/core-frontend/src/views/chart/components/js/g2plot_tooltip_carousel.ts b/core/core-frontend/src/views/chart/components/js/g2plot_tooltip_carousel.ts index b836bc4507..3f96c6b925 100644 --- a/core/core-frontend/src/views/chart/components/js/g2plot_tooltip_carousel.ts +++ b/core/core-frontend/src/views/chart/components/js/g2plot_tooltip_carousel.ts @@ -155,8 +155,9 @@ class ChartCarouselTooltip { setTimeout(() => { // 然后,恢复 CAROUSEL_MANAGER_INSTANCES?.forEach(instance => { - instance.chartIsVisible = true - instance.resume() + if (instance.chartIsVisible) { + instance.resume() + } }) }, 400) } @@ -165,11 +166,14 @@ class ChartCarouselTooltip { * 暂停轮播 * @param id */ - static paused(id: string) { + static paused(id?: string) { CAROUSEL_MANAGER_INSTANCES?.forEach(instance => { - if (instance.chart.id === id) { + if (id && instance.chart.id === id) { setTimeout(() => instance.paused(), 200) } + if (!id) { + instance.paused() + } }) } @@ -332,7 +336,7 @@ class ChartCarouselTooltip { const piePoint = view .scale() .getGeometries()[0] - .elements.find(item => item.data.field === value) + ?.elements.find(item => item.data.field === value) ?.getModel() if (!piePoint) { return { x: 0, y: 0 } @@ -365,6 +369,7 @@ class ChartCarouselTooltip { */ private getDualAxesTooltipPosition(view, value: string) { const xScale = view.getXScale() + if (!xScale) return { x: 0, y: 0 } const values = xScale.values if (values.length < 2) { const point = view