vue中echarts視圖不更新問題及解決
vue中echarts視圖不更新
最近寫了一個可視化,遇到最多的問題就是, 封裝成組件 接口返回來 有數(shù)據(jù) , 或者切換數(shù)據(jù)有數(shù)據(jù) ,但可視化視圖不更新
問題就是數(shù)據(jù)只在第一次更新了

我解決的方法有兩個:
- v-if判斷有數(shù)據(jù)就顯示
- 用watch監(jiān)聽
1、直接在組件里判斷有數(shù)據(jù)就可

2、在組件里監(jiān)聽數(shù)據(jù)有變化 手動賦值

總結(jié)下來就是 監(jiān)聽是真香 后來遇到的很多問題都是用監(jiān)聽解決的
vue echarts視圖更新緩慢問題
項目中使用echarts畫折線圖顯示設(shè)備上傳的數(shù)據(jù)。
出現(xiàn)bug
1.做條件賽選等操作后需要請求接口從新畫圖,由于線的數(shù)量等會有變化出現(xiàn)了保留上一次畫圖的折線。
解決辦法:使用setOption試添加第二個參數(shù)為true
this.myEcharts.setOption(this.chartOption, true)
2.折線圖有畫警示線markLine,要求可以手動隱藏顯示該警示線
原本實現(xiàn)代碼:
// 警示線開關(guān)
lgkeysw() {
this.alarmLine = !this.alarmLine
if (!this.alarmLine) {
this.chartOption.series.forEach((item) => {
item.markLine.label.show = false
item.markLine.lineStyle.opacity = 0
})
} else {
this.chartOption.series.forEach((item) => {
item.markLine.label.show = true
item.markLine.lineStyle.opacity = 1
})
}
this.myEcharts.setOption(this.chartOption, true)
},后因數(shù)據(jù)量過大,使用setOption將全部折線圖重繪而導(dǎo)致隱藏或顯示markLine的時間變長(甚至需要十幾二十秒的時間),優(yōu)化代碼實現(xiàn)只修改需要更新的視圖,其他部分不變
// 報警線開關(guān) LGKEYSW
lgkeysw(showAlarmBtn) {
if (!this.alarmBtn) {
return false
}
this.alarmLine = !showAlarmBtn
let series = []
if (!this.alarmLine) {
this.chartOption.series.forEach((item) => {
series.push({
markLine: {
label: {
show: false
},
lineStyle: {
opacity: 0
}
}
})
})
} else {
this.chartOption.series.forEach((item) => {
series.push({
markLine: {
label: {
show: true
},
lineStyle: {
opacity: 1
}
}
})
})
}
this.myEcharts.setOption(
{
series: series
},
{ replaceMerge: 'series' }
)
},總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 在Vue中使用Echarts+封裝
- vue+elementUI中使用Echarts之餅圖問題
- 手把手教你Vue3?按需引入?Echarts的過程(收藏)
- vue使用echarts如何實現(xiàn)雙柱狀圖和雙y軸的柱狀圖
- Vue3中按需引入ECharts詳細(xì)步驟(一看就會)
- vue3.x對echarts的二次封裝之按需加載過程詳解
- vue之使用echarts圖表setOption多次很卡問題及解決
- Vue3+echarts5踩坑以及resize方法報錯的解決
- Vue動態(tài)加載ECharts圖表數(shù)據(jù)的方式
- vue踩坑記錄之echarts動態(tài)數(shù)據(jù)刷新問題
- Vue中引入echarts的步驟及折線圖、柱狀圖常見配置項
相關(guān)文章
vue-resource 攔截器interceptors使用詳解
這篇文章主要介紹了vue-resource 攔截器interceptors使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Element DateTimePicker日期時間選擇器的使用示例
這篇文章主要介紹了Element DateTimePicker日期時間選擇器的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

