发布网友 发布时间:2022-04-22 17:22
共2个回答
懂视网 时间:2022-04-22 21:43
这篇文章主要介绍了关于关于echarts图表在tab页中width:100%失效的问题 ,现在分享给大家,有需要的朋友可以参考一下在使用echarts时,写在tab页中的图表宽度明明设成了100%,但是在页面上实际却只有100px宽
<p id="chartMain" style="width:100%;height:300px"></p>
原因很简单,在tab页中,图表的父容器p是隐藏的(display:none),图表在执行js初始化的时候找不到这个元素,所以自动将“100%”转成了“100”,最后计算出来的图表就成了100px
解决办法:
找一个在tab页的切换操作中不会隐藏的父容器,把它的宽度的具体值取出后在初始化图表之前直接赋给图表
1 $("#chartMain").css('width',$("#TabContent").width());//获取父容器的宽度具体数值直接赋值给图表以达到宽度100%的效果 2 var Chart = echarts.init(document.getElementById('chartMain')); 3 4 // 指定图表的配置项和数据 5 option = { ...配置项和数据 }; 6 7 // 使用刚指定的配置项和数据显示图表。 8 Chart.setOption(option);
热心网友 时间:2022-04-22 18:51
是因为echarts只能在显示的容器中渲染,解决办法:在tab切换之后再渲染,也就是在触发tab切换的事件中操作