vue中echarts的動態渲染資料watch
剛用到echarts,之前也有看過,看了之後感覺挺簡單的,但是後來用的時候遇到了一個小問題,一般echarts都是獲取後端資料動態載入資料,而網上好多demo都不是很好用,讓我搞了好長一會才明白過來,話不多說,直接上程式碼。
<template>
<div id="myChart" ref="myChart" style="width: 100%; height: 200px"></div>
</template>
<script>
import moment from 'moment'
import { queryLine } from '@/apis/statistics/daily.js'
export default {
props: ['postData'],
data() {
return {
getDataNum: [],
getDataTime: []
}
},
watch:{
postData:{
immediate: true,
handler(val){
console.log(val,'差點撒旦阿薩=============');
val.forEach((item) => {
this.getDataNum.push(Number(item.ytdUvNew))
this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
})
this.$nextTick(() => { //這裡需要重新載入渲染
this.initData()
})
}
}
},
methods: {
initData() {
const myCharts = this.$echarts.init(this.$refs.myChart)
let option = {
title :{
show:true,
text:'使用者趨勢圖',
textStyle:{
fontSize:'12px',
fontWeight:'400',
color:'#808080'
}
},
xAxis: {
type: 'category',
data: this.getDataTime,
},
grid: {
top: '30px',
left: '30px',
right: '30px',
bottom: '30px'
},
yAxis: {
type: 'value',
},
series: [
{
symbolSize: 6, //折線點的大小
data: this.getDataNum,
type: 'line',
symbolSize: 6, //折線點的大小
itemStyle: {
normal: {
color: "#1bdaf8", //折線點的顏色
lineStyle: {
color: '#6672FB' //折線顏色
}
}
}
}
]
}
myCharts.setOption(option)
}
},
mounted() {
this.initData()
queryLine().then((res) => {
res.jsonData.reportUserList.forEach((item) => {
this.getDataNum.push(Number(item.ytdUvNew))
this.getDataTime.push(moment(item.dt).format('YYYY-MM-DD'))
})
console.log(this.getDataNum, this.getDataTime, '顯示資料===')
this.$nextTick(() => { //最重要的就是這點,重新載入,要不然根本就無法渲染資料
this.initData()
})
})
}
}
</script>
<style>
</style>
同樣,我這邊也需要監聽資料實時渲染,好了,其實沒什麼東西,也不難,喜歡的小夥伴記得來個三連,嘿嘿!
相關文章
- 關於微信小程式中如何實現資料視覺化-echarts動態渲染微信小程式視覺化Echarts
- echarts動態賦值結合dataZoom滑動資料Echarts賦值OOM
- vue路由動態增加元件渲染Vue路由元件
- ECharts海量資料渲染解決卡頓的4種方式Echarts
- vue中引入echartsVueEcharts
- 記一次Vue動態渲染路由的實現Vue路由
- Scrapy框架-通過scrapy_splash解析動態渲染的資料框架
- Vue資料不渲染問題Vue
- Vue中computed的本質—lazy WatchVue
- vue中computed/method/watch的區別Vue
- Echarts關於tree樹資料渲染圖例最新例項Echarts
- 動態渲染之vue頁面向元件間傳值Vue元件
- vue+element-ui 修改動態生成的表格(el-table)中的資料VueUI
- 手拉手,用Vue開發動態重新整理Echarts元件VueEcharts元件
- Vue透過引入cdn方式請求介面,渲染資料,axios渲染資料VueiOS
- vue中渲染值的方法Vue
- 淺入深出Vue:資料渲染Vue
- 深入解析Vue中watch的高階用法Vue
- vue中methods,computed,watch方法的區別Vue
- Vue.js中 watch 的高階用法Vue.js
- 詳解Vue中watch的高階用法Vue
- vue例項中watch屬性的使用Vue
- echarts之靜態與動態地圖Echarts地圖
- vue 動態載入路由,渲染左側選單欄Vue路由
- 聊聊 Vue 中 title 的動態修改Vue
- echarts 主題動態切換Echarts
- Vue全家桶+Echarts資料視覺化實踐VueEcharts視覺化
- Vue資料驅動表單渲染,輕鬆搞定form表單VueORM
- vue之watch的用法Vue
- vue3 watch方法---監視基本型別資料Vue型別
- vue3如何進行資料監聽watch/watchEffectVue
- vue原始碼中computed和watch的解讀Vue原始碼
- Vue中computed和watch的區別(轉載)Vue
- Echarts的tooltip中動態單位設定(使用formatter函式加工)EchartsORM函式
- Echarts渲染選擇SVG /canvasEchartsSVGCanvas
- Vue專案資料動態過濾實踐Vue
- Vue.set()實現資料動態響應Vue
- [Vue] Watch and WatchEffectVue