vue中使用element ui的彈窗與echarts之間的問題詳解
今天項(xiàng)目中有個需求,就是在頁面中點(diǎn)擊一個圖標(biāo),彈出一個抽屜式的彈窗(彈窗是element UI的抽屜),彈窗里邊是echarts呈現(xiàn)的數(shù)據(jù),當(dāng)我直接用echarts的時候,報(bào)錯dom沒有獲取到;
這就陷入疑惑,平時都是這樣獲取的,怎么今天就不行了呢,搜索了很多答案之后才知道,在剛進(jìn)入頁面的時候抽屜是關(guān)閉的,那echarts不進(jìn)行獲取dom,當(dāng)點(diǎn)擊抽屜出來的時候,有個opened事件,在這個事件里邊進(jìn)行echarts的初始化,執(zhí)行數(shù)據(jù);
<el-drawer
title="分析圖表"
:modal="false"
:close-on-click-modal="false"
:modal-append-to-body="false"
size="600px"
:visible.sync="dataVisible"
@opened="opens"
>
<div ref="main" style="width: 100%;height:100%;"></div>
</el-drawer>
export default {
data() {
return {
isColor: true,
option1: {
title: {
text: '總資產(chǎn)占比分析',
x: 'left'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/> : {c} (wppm3vysvbp%)'
},
legend: {
orient: 'vertical',
right: '10%',
top: '35%',
data: ['A', 'B', 'C', 'D']
},
series: [
{
name: '訪問來源',
type: 'pie',
radius: '70%',
center: ['25%', '60%'],
data: [
{ value: 335, name: 'A' },
{ value: 310, name: 'B' },
{ value: 234, name: 'C' },
{ value: 135, name: 'D' }
],
label: {
normal: {
show: false,
position: 'center'
}
}
}
]
},
}}
}
method:{
opens(){
this.$nextTick(() => {
this.pie1()
})
},
pie1(){
this.$echarts.init(this.$refs.main).setOption(this.option1)
}
}
這樣防止dom沒有渲染之前,數(shù)據(jù)先加載,主要是用了element ui彈窗的open方法,具體的為啥用這個方法,還需要研究下
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue中用js如何實(shí)現(xiàn)循環(huán)可編輯表格
這篇文章主要介紹了vue中用js如何實(shí)現(xiàn)循環(huán)可編輯表格,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
select的change方法傳遞多個參數(shù)的方法詳解
element-ui中的select,checkbox等組件的change方法的回調(diào)函數(shù)只有當(dāng)前選擇的val,如果想再傳入自定義參數(shù)怎么辦,本文給大家分享select的change方法如何傳遞多個參數(shù),感興趣的朋友一起看看吧2024-02-02
Vue3.3?+?TS4構(gòu)建實(shí)現(xiàn)ElementPlus功能的組件庫示例
Vue.js?是目前最盛行的前端框架之一,而?TypeScript?則是一種靜態(tài)類型言語,它能夠讓開發(fā)人員在編寫代碼時愈加平安和高效,本文將引見如何運(yùn)用?Vue.js?3.3?和?TypeScript?4?構(gòu)建一個自主打造媲美?ElementPlus?的組件庫2023-10-10
最全vue的vue-amap使用高德地圖插件畫多邊形范圍的示例代碼
這篇文章主要介紹了最全vue的vue-amap使用高德地圖插件畫多邊形范圍,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

