项目记录之echarts绘制图形动态传值 bug

300 阅读1分钟

当前遇到的问题: 数据改变图未变?

解决方法:监听传来的数据

当数据变化时再次渲染图表

// 例:
@Watch("dataLine", {deep: true})
  onData() {
    this.init()
  }
  init() {
   // 将传来的数据放进图表中
    this.changeData();
    // 执行图表对象的初始化
    this.chartLine = echarts.init(document.getElementById("chartLine"));
    // 为图标表对象赋值
    this.chartLine.setOption(this.options, true);
  }

出现了新问题:前一次的数据都累计显示在图表上,即所有的数据都被渲染至图表

解决方法:在每一次渲染页面之前清空当前数据

// 例:
 @Watch("dataLine", {deep: true})
  onData() {
    this.options.xAxis.data = [];
    this.options.series[0].data = [];
    this.changeData();
    this.chartLine.setOption(this.options, true);
  }