vue使用Echarts設(shè)置數(shù)據(jù)無效問題記錄及解決方法
場景:
做一個動態(tài)的柱狀圖,模擬socket效果,如圖所示:
遇到的問題:
元數(shù)據(jù)格式是這樣的:
config: { data: [ { name: '義烏市', value: 169 }, { name: '東陽市', value: 123 }, { name: '武義縣', value: 98 }, { name: '蘭溪市', value: 75 }, { name: '金東區(qū)', value: 66 }, ], colors: ['#e062ae', '#fb7293', '#e690d1', '#32c5e9', '#96bfff'], unit: '單位', showValue: true }
剛開始試著在mounted鉤子里面遍歷直接改,頁面無變化,但控制臺有效。
接著嘗試使用map,同上,失敗。
接著,使用$set()依然無效。
最終解決方案:
我的思路是:
先定義一個變量接收初始值,然后對這個變量進行一些列的邏輯處理,最后再把這個變量賦值回去給元數(shù)據(jù),這樣操作下來,以上的問題就解決了,寫這個文章的目的就是,如果有時候$set()也不好使的時候可以嘗試這個方法。
一句話總結(jié)就是,復(fù)制元數(shù)據(jù),處理后賦值回去。
mounted () { this.clearTimer = setInterval(() => { let obj = JSON.parse(JSON.stringify(this.config)) obj.data.forEach((item, index) => { item.value += parseInt(Math.random() * 20 + 1) }) this.config = obj console.log(this.config.data) }, 5000) console.log(this.config.data) }, beforeDestroy () { clearInterval(this.clearTimer) },
小結(jié):
如果再用echarts的話,要實現(xiàn)此類功能,可能還要重新運行初始化函數(shù)
例如:this.init(this.data)
到此這篇關(guān)于vue使用Echarts設(shè)置數(shù)據(jù)無效問題記錄的文章就介紹到這了,更多相關(guān)vue Echarts數(shù)據(jù)無效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue進入頁面加載數(shù)據(jù)緩慢實現(xiàn)loading提示過程
這篇文章主要介紹了vue進入頁面加載數(shù)據(jù)緩慢實現(xiàn)loading提示過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08解決vue無法加載文件C:\Users\Administrator\AppData\Roaming\npm\vue.ps
這篇文章主要介紹了解決vue無法加載文件C:\Users\Administrator\AppData\Roaming\npm\vue.ps1因為在此系統(tǒng)上禁止運行腳本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03