其他分享
首页 > 其他分享> > 2021-02-07

2021-02-07

作者:互联网

项目场景:

vue中使用echarts折线图,需要点击获取数据然后显示对应的折线图


问题描述:

显示折线图时发现太小,只能显示一部分,图表大小并没有自适应,初始化时已经给了resize

this.linechart = echarts.init(this.$refs.linechart);
this.linechart.setOption(this.lineOption);
window.addEventListener("resize", () => {
  this.linechart.resize();
});

如上图,点击文件之后图表不能达到百分百宽度


原因分析:

Ajax请求获取数据慢,图表已经显示出来了,没有获取到dom的高度和宽度


解决方案:

在获取数据成功之后再调用setOption

//子组件中:
setOption(){
  this.linechart = echarts.init(this.$refs.linechart);
  this.linechart.setOption(this.lineOption);
   window.addEventListener("resize", () => {
    this.linechart.resize();
  });
}

//父组件中
<line-chart :chartData="xAxis" ref="xchildecharts" />
//获取数据之后
this.$nextTick(function () {
  this.$refs.xchildecharts.setOption()
});

标签:02,linechart,07,setOption,获取数据,2021,折线图,refs,resize
来源: https://blog.csdn.net/zhaoq6/article/details/113739763