vue+echarts实现数据实时更新

vue+echarts实现数据实时更新

本文实例为大家分享了vue+echarts实现数据实时更新的具体代码,供大家参考,具体内容如下

今天在管理后台新增一个图表,用了echarts,记录一下

根据数据实时更新

安装

npm install echarts --save

然后在main.js中配置一下

import echarts from 'echarts' Vue.prototype.$echarts = echarts

可以了,接下来就是在你需要用的页面写了

// html 宽高还是尽量固定吧,不然会出现一些奇奇怪怪的问题 <div id="previewChart" :style="{width: '600px', height: '600px'}"></div> data () {     return {         echartUser: '',         echartRegistered: '',         echartOnline: '',     } } // js // 这个是一个漏斗图  drawLine () {        let previewChart = this.$echarts.init(document.getElementById('previewChart'))        previewChart.setOption({            color: ['#4f8f98', '#233541', '#b32124'],            title: { text: '漏斗图' },            tooltip: {                trigger: 'item',                formatter: "{a} <br/>{b} : {c}人"            },            toolbox: {                feature: {                    dataView: {readOnly: false},                    restore: {},                    saveAsImage: {}                }            },            series: [                {                    name:'数据统计',                    type:'funnel',                    left: '10%',                    top: 60,                    //x2: 80,                    bottom: 60,                    width: '80%',                    // height: {totalHeight} - y - y2,                    min: 0,                    max: 100,                    minSize: '0%',                    maxSize: '100%',                    sort: 'descending',                    gap: 2,                    label: {                        show: true,                        position: 'inside'                    },                    labelLine: {                        length: 10,                        lineStyle: {                            width: 1,                            type: 'solid'                        }                    },                    itemStyle: {                        borderColor: '#fff',                        borderWidth: 1                    },                    emphasis: {                        label: {                            fontSize: 18                        }                    },                    // 更新数据的时候,更新的是这个位置的数据                    data: [                        {value: this.echartUser, name: '用户人数'},                        {value: this.echartRegistered, name: '注册人数'},                        {value: this.echartOnline, name: '在线听力测试人数'},                    ]                }            ]      }) }, // 获取数据 getTable () {     let startTime = this.searchMsg.startTime     let endTime = this.searchMsg.endTime     let channel = ''     previewList(startTime, endTime, channel).then(resp =>{         if (resp.errCode == 0) {             // 在这个位置使用nextTick             // 漏斗图数据             this.$nextTick( ()=>{                 this.echartRegistered = resp.data.previewCount.phoneCount                 this.echartUser = resp.data.previewCount.createCount                 this.echartOnline = resp.data.previewCount.testCount                 // 方法一,直接调用前面定义的drawLine()方法,然后给这个方法传参,然后在方法里面吧需要动态改变的地方替换成传参的这个变量达到动态改变数据的目的                 this.drawLine(this.echartRegistered , this.echartUser, this.echartOnline)                 // 方法二 ,最笨的办法,重新写一遍实例化echarts的方法咯                  let previewChart = this.$echarts.init(document.getElementById('previewChart'))                 previewChart.setOption({                      series: [{                         data: [                            {value: resp.data.previewCount.createCount, name: '用户人数'},                            {value: resp.data.previewCount.phoneCount, name: '注册人数'},                            {value: resp.data.previewCount.testCount, name: '在线听力测试人数'},                         ]                      }]                  })             })         }else {             this.$message.error(resp.msg)         }     }) },

搞定,这样子就不用在去定义watch方法了,简单粗暴的完成了vue + echrats的数据实时更新。

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    酷睿I7 配置

    酷睿I7 配置,配置,玩家国度啦华硕 Rampage II Extreme(3800元)如果米不够,也可以把Extreme改为Gene,不过是小板内存推荐金士顿6G DDR3 2000骇

    无法读取U盘中的数据

    无法读取U盘中的数据,,核心提示:我有一个512MB的U盘,把它插在电脑显示器里面是空的,但右键单击以查看已经使用USB 480mb文件的属性未设置为隐

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    查看配置:酷睿i3530集展示办公平台

    查看配置:酷睿i3530集展示办公平台,,由于时间和精力的关系,我们不可能对所有的配置进行评论,希望我们能理解,我希望我们的评论能在那些需要帮

    3500元超额值学生娱乐结构的优化配置

    3500元超额值学生娱乐结构的优化配置,,作为一个DIY的主流用户领域的学生,每个用户51学生攒机的高峰。因为学生用户没有稳定的收入来源,攒机