问题重现:
vue-echarts进行数据缩放的图表的渲染,图表数据是实时更新的。每一次更新都会刷新图表,导致用户选择的缩放范围在更新后被重置。
但是用户希望在刷新图表数据时,能够保持缩放范围。
解决方法:
监听图表的dataZoom(缩放)事件,记录缩放后的start和end(缩放范围)。在刷新图表前,将记录的缩放范围设置到option中dataZoom的start和end值。
<IEcharts
:option="optionC"
:resizable="true"
@datazoom="onDataZoom"
/>
onDataZoom(event) {
if (event.batch) {
// 在图表内使用鼠标滚轮缩放
this.dataZoomStart = event.batch[0].start
this.dataZoomEnd = event.batch[0].end
} else {
// 使用滑块缩放
this.dataZoomStart = event.start
this.dataZoomEnd = event.end
}
}