chart.setOption({ series: next }, { replaceMerge: ['series'] });
// 或者整体重设
chart.setOption(option, true);
三分钟轮询一次,图上的曲线从 2 条变成 5 条,越刷越多,图例里还留着已经下线的旧渠道名。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,setOption 默认按合并处理,新数据只覆盖同名系列,旧的没被删就留在图上。图例和提示框也跟着保留旧项。
这次卡住的地方就在「ECharts 旧数据残留」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
处理上按这个顺序:刷新前把 series 数组整体替换 不要按下标一个个改;setOption 第二个参数传 true 或指定 replaceMerge 为 series;清掉不再存在的图例项 确认 tooltip 里也不出现。
改完只确认一件事:连续刷新五次曲线始终是两条,图例里没有旧渠道名。
