echarts结合tab时,初次渲染组件moutnted的时候,未显示tab内的组件display为none,echarts无法获取父组件的高度100%,而转换成100px显示;
有网友通过 mounted的时候获取window.innerWidth,根据innerwidth设置echarts的宽幅,如:domBugChart.style.width = window.innerWidth * 0.8 + ‘px’;
但这也相当于写死,如果window.innerWidth发生改变,echarts无法自适应,因为他的width已经被固定。
个人方法:
<el-tab-pane label="接口信息" name="third">
<InterfaceInfo :activeName="activeName"></InterfaceInfo>
</el-tab-pane>
将tabs的activeName传递给各个组件,在组件内部watch props的activeName,当activeName改变时,执行echarts的resize。
watch: {
activeName: function() {
this.chartLine.resize();
}
},
结合监听window的resize时间,就可实现tab切换echarts充满父组件,也能够根据window 视口大小自适应