记录开发之Echart tooltip自定义位置

2,351 阅读1分钟

echart有自主的tooltip展示,但是有时会遇到要求点击悬浮框内容,然后就需要自定义定位,怕忘记所以记录一下

查询文档也能得知,主要是tooltip下的position方法

  position: (p, data) => {     // 其中p为当前鼠标的位置
         if (!data.data) return ``;
         if (data.data.length) {
         let _height = document.querySelector('.className').offsetHeight;
         let _width = document.querySelector('.className').offsetWidth;
         let left = p[0];
         let top = p[1];
         if (p[0] >= _width - 240) {
                 left = _width - 240;
         } else {
                 left = p[0]
         }
         if (p[1] >= _height - 200) {
                 top = _height - 200;
         } else {
                  top = p[1]
         }
         left = p[0];
          top = p[1];
          const _axisValueLabel = data.axisValueLabel;
          if (_axisValueLabel != this.axisValueLabelGlobal) {
                 this.axisValueLabelGlobal = _axisValueLabel;
              }
                 return [left, top];
            }
          }

效果如下

默认:

image.png 自定义后:

image.png

ps:好像data中的数据获取不太一样,我用的是气泡图,之前看柱状图好像还嵌套了一层,具体使用前console打印输出看看就行,left和top分别是坐标,可自行根据ui图效果调整