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é)就是,復制元數(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

