echarts使用v-if或v-show不顯示、加載一半的問題

每日一嘮叨:
實(shí)現(xiàn)柱狀圖使用了v-if或v-show做判斷時(shí),柱圖要么顯示一半要么不顯示,使用v-if的時(shí)候,當(dāng)條件為false時(shí),會出錯(cuò),因?yàn)榇藭r(shí)div是不存在的,所以無法對圖表進(jìn)行初始化。v-show結(jié)構(gòu)已經(jīng)存在,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),結(jié)構(gòu)并未重新渲染,會出現(xiàn) echarts 圖表未獲取到最外層大盒子的寬度而顯示一半的情況。原本想著用Vue.nextTick強(qiáng)制初始化,但也沒有效果。

正文開始??

需求:實(shí)現(xiàn)點(diǎn)擊圖片放大功能。

效果圖:

image.png
image.png

代碼:

實(shí)現(xiàn)方法是在updated()鉤子函數(shù)中重新resize()就能顯示全部的echarts了。

updated() {
            this.myChart.resize();
        },
/*項(xiàng)目echarts小部分代碼*/
    this.myChart=echarts.init(document.getElementById('mychart'));
    this.myChart.setOption(option);
    // 隨著屏幕大小調(diào)節(jié)圖表
    window.addEventListener("resize",()=>{
          this.myChart.resize();
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容