From d8d065624231a61e4dc86205bc2e34c9b99ea2cb Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Wed, 24 Aug 2022 12:58:27 +0800 Subject: [PATCH] 修复图表不能点击的问题,修复图表提示窗出界的问题 --- plugins/echarts/CECharts.weapp.vue | 36 +++++++++++++++++++++++++++++++++--- 1 files changed, 33 insertions(+), 3 deletions(-) diff --git a/plugins/echarts/CECharts.weapp.vue b/plugins/echarts/CECharts.weapp.vue index 3580774..59d43d6 100644 --- a/plugins/echarts/CECharts.weapp.vue +++ b/plugins/echarts/CECharts.weapp.vue @@ -10,9 +10,9 @@ type="2d" :id="canvasId" :canvasId="canvasId" - :bindtouchstart="evt => disableTouch ? null : touchStart(evt)" - :bindtouchmove="evt => disableTouch ? null : touchMove(evt)" - :bindtouchend="evt => disableTouch ? null : touchEnd(evt)" + @touchstart="evt => disableTouch ? null : touchStart(evt)" + @touchmove="evt => disableTouch ? null : touchMove(evt)" + @touchend="evt => disableTouch ? null : touchEnd(evt)" ></canvas> </view> </template> @@ -170,6 +170,36 @@ }); canvas.setChart(this.chart); this.onReady && this.onReady(this.chart); + this.chart.setOption({ + tooltip: { + backgroundColor: 'rgba(50,50,50,0.7)', + textStyle: { + color: '#ffffff', + }, + // 重新修正浮窗位置 + position: (pos, params, dom, rect, size) => { + const [pX, pY] = pos; + const [contX, contY] = size.contentSize; + const [viewX, viewY] = size.viewSize; + const contentPoint = {}; + // 鼠标在左侧时 tooltip 显示到右侧 + if (pX < viewX / 2) { + contentPoint.right = Math.max(viewX - pX - contX, 0); + } + // 鼠标在右侧时 tooltip 显示到左侧。 + else { + contentPoint.left = Math.max(pX - contX, 0); + } + // 限制不超过底部边界 + if (pY + contY <= viewY) { + contentPoint.top = pY; + } else { + contentPoint.top = viewY - contY; + } + return contentPoint; + }, + }, + }); }); }, 100); }, -- Gitblit v1.9.1