vue3:Tabs 標簽頁中使用echarts報錯Can't get dom width or height


產生的原因:Tabs 標簽頁在點擊的時候,才會去執行DOM渲染,但是echarts如果在頁面加載的時候就進行渲染了(echarts渲染時,必須要輸入width or height ),但是此時tabs里面的單個標簽DOM還沒被渲染,所以就算給echarts定義了width or height ,也會檢測不到;

網上有很多解決辦法,其中一種是點擊了某個Tabs 標簽,然后延時再去執行渲染echarts;此時保證了標簽被渲染之后,echarts才會被渲染

//監聽tab欄切換
const changeTab=(TabPanelName)=>{
  if(TabPanelName==="0"){
    console.log("我點擊了第一個")
    setTimeout(()=>{
      init_timeDomainHRChart()//這個是繪制圖形的函數
    },500)

  }
}

我使用 方法:在生命周期中

nextTick 是將回調推遲到下一個 DOM 更新周期之后執行。在更改了一些數據以等待 DOM 更新后立即使用它

  nextTick(()=>{
    // //加載時域 echart圖
    init_timeDomainHRChart()
  })


免責聲明!

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



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