如何動態渲染多個echart圖表小結(vue)


需求: 需要在一個列表里 動態渲染多個echart圖表;

前提: 本人使用的是vue框架

分析:

1、vue框架獲取dom結構  可以用官方指定的ref, 或者創建一個id document.getElementById() 方式獲取(我這里用的是第二種方式 根據id來獲取)

2、id也需要動態獲取,然后根據動態id在JS里循環遍歷找到單個item的dom,如下圖

PS:這里我是用“item+索引”來組成每個echart圖表的id,最終生成html結構如下:

 

3、在JS里采用循環方式獲取每個item的id,然后動態渲染每個圖表,如下圖:

 

PS:上面我標注了1,2,3步,分別意思是:
(1)、由於我這個圖表是要復用的彈窗,所以我做成了組件形式,而在進入到主頁面時候,點擊這個組件時候,DOM更新會涉及打異步更新(因為數據是動態后台獲取),而后彈出

這個錯誤,所以必須要用vue專門提供的鈎子$nextTick來處理,在這個鈎子進行echart渲染,具體可以戳這里:https://cn.vuejs.org/v2/api/#Vue-nextTick

(2): 這個是我從后台獲取的列表數組數據,需要對這個數組進行處理,然后得到每個item,然后每個item的echart初始化

(3):這是單個eachrt圖表的生成方案 其中 name的值就是每個item的id  然后實現動態渲染。

這就是每個動態多個渲染echart的方法之一,當然方法是多樣的 還有其他方法實現,歡迎大家留言。

最終成型如下:

都是測試數據  哈哈

 
       


免責聲明!

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



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