tooltip: {
  trigger: 'axis', confine: true, triggerOn: 'click',
  extraCssText: 'max-width:240px;white-space:normal;'
}

375 宽的手机上点最右侧的柱子,提示框整块弹到屏幕外只剩一半可见,手指还盖住剩下那部分。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,tooltip 默认跟着鼠标走,移动端没有 hover,位置按触点算,靠近边缘时不会自动翻转。confine 没开,内容超出容器就溢出。

「ECharts 移动端 tooltip」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

别只看报错的最后一行,往上看几行,真正的起因通常在上面。

处理上按这个顺序:打开 confine 把提示框限制在图表区域内;移动端把 triggerOn 改成 click 避免长按才出;限制最大宽度并允许换行。

改完只确认一件事:点最左和最右的柱子,提示框都完整落在屏幕内。

作者 9823189