Line折线图数据更新后视图没变化怎么办?
我在用 Vue + ECharts 做一个实时监控页面,Line 折线图初始化能正常显示,但后面通过接口拿到新数据后,调用了 chartInstance.setOption() 更新 series.data,控制台打印数据是对的,可图表就是不刷新,看起来还是老数据。
我试过加 notMerge: false 和 replaceMerge: ['series'],也试过先 clear() 再 setOption,都不行。是不是我哪里写错了?附上关键代码:
const option = {
xAxis: { type: 'category', data: newData.xAxis },
yAxis: { type: 'value' },
series: [{
type: 'line',
data: newData.values
}]
};
chartInstance.setOption(option, { notMerge: false, replaceMerge: ['series'] });
不行的话再加个nextTick:
ECharts就这德行,数据变了但DOM没反应过来,手动resize强制刷新下就好了。
这破问题折腾了我半天才发现是引用问题,ECharts有时候会抽风不更新。