tab切換echarts無法正常顯示問題


項目中使用到了Echarts來在展示圖表,兩個tab切換頁面中都存在圖表,頁面加載完成后

對所有圖表進行了初始化和繪制,然后切換查看時,發現圖表的寬度不正確.,第一個tab顯示是很正常的,但是第二個tab中內容顯示不完整。

 

原因:在頁面進行加載時,隱藏的圖表找不到對應的div大小,所以默認給了一個大小。而這個默認寬度很小,所以導致echarts圖表顯示不完全。

 

解決辦法:

1.將div的寬高設置成固定值,比如style=”width:500px;height:500px”,這時候echarts有了明確的大

小時候就可以正常顯示出來了。(不過這個方法還是不好,固定值的高寬無法自適應網頁大小啊)

 

2.在點擊第二個tab的時候初始化echarts,也就是調用建立echarts的函數,而不要再加載網頁的時候就初始化。

 

我的解決方案是對第一種解決方案進行了升級,做到了適配移動端的屏幕寬度。

 

html

<div class="count-chart" ref="countChart" v-show="leftChart"></div>

<div class="time-chart" ref="timeChart" v-show="rightChart"></div>

 

js

再初始化echarts前重新定義圖表的寬高

this.$refs.countChart.style.width = window.innerWidth - 20 + 'px';

this.$refs.countChart.style.height = "280px";

this.$refs.timeChart.style.width = window.innerWidth - 20 + 'px';

this.$refs.timeChart.style.height = "280px";

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM