Element中使用ECharts的项目实践

 更新时间:2022年07月29日 15:46:20   作者:·~简单就好  
本文主要介绍了Element中使用ECharts的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、引入ECharts

1、直接引入echarts (安装echarts项目依赖)

npm install echarts --save

2、全局引入 (我们安装完成之后,可以在main.js中全局引入 echarts)

import echarts from "echarts";
Vue.prototype.$echarts = echarts;

3、我们可以将Echar封装成组件的形式,方便调用

封装在组件中:封装成 Echarts.vue 文件放在ElementUI前端框架中

<template>
  <div ref="chartDom" ></div>
</template>

<script>
import * as echarts from 'echarts';
import debounce from "lodash/debounce";
import { addListener, removeListener} from "resize-detector";

export default {
  props: {
    option: {
      type: Object,
      default: ()=> {}
    }
  },
  watch: {
    // option(val) {
    //   this.chart.setOption(val);
    // },
    option: {
      handler(val) {
        this.chart.setOption(val);
      },
      deep: true
    }
  },
  created() {
    this.resize = debounce(this.resize, 300);
  },
  mounted() {
    this.renderChart();
    addListener(this.$refs.chartDom, this.resize);
  },
  beforeDestroy() {
    removeListener(this.$refs.chartDom, this.resize);
    this.chart.dispose();
    this.chart = null;
  },
  methods:{
    resize(){
      this.chart.resize();
    },
    renderChart() {
      this.chart = echarts.init(this.$refs.chartDom);
      this.chart.setOption(this.option);
    }
  },
}
</script>
<style>
</style>

4、此时我们可以通过Echart官网引入我们需要的图

Echart官网 https://echarts.apache.org/zh/index.html

例如:以所选的折柱混合图为例

引入(需要引入Echarts刚刚封装好的组件)

从Echart官网获取对应图的代码

引入代码:

<template>
    <div>
        <el-row>
          <Echarts :option="option" style="height: 400px;width: 630px" />
        </el-row>
  </div>
</template>

<script>
    
//引入Echart的包
import Echarts from "../../components/charts/Echarts";       
export default {
  components:{
    Echarts,
  },
  data(){
    return{
      option:{
  		tooltip: {
    	trigger: 'axis',
    	axisPointer: {
      	type: 'cross',
      	crossStyle: {
        color: '#999'
      }
    }
  },
  toolbox: {
    feature: {
      dataView: { show: true, readOnly: false },
      magicType: { show: true, type: ['line', 'bar'] },
      restore: { show: true },
      saveAsImage: { show: true }
    }
  },
  legend: {
    data: ['Evaporation', 'Precipitation', 'Temperature']
  },
  xAxis: [
    {
      type: 'category',
      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
      axisPointer: {
        type: 'shadow'
      }
    }
  ],
  yAxis: [
    {
      type: 'value',
      name: 'Precipitation',
      min: 0,
      max: 250,
      interval: 50,
      axisLabel: {
        formatter: '{value} ml'
      }
    },
    {
      type: 'value',
      name: 'Temperature',
      min: 0,
      max: 25,
      interval: 5,
      axisLabel: {
        formatter: '{value} °C'
      }
    }
  ],
  series: [
    {
      name: 'Evaporation',
      type: 'bar',
      tooltip: {
        valueFormatter: function (value) {
          return value + ' ml';
        }
      },
      data: [
        2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
      ]
    },
    {
      name: 'Precipitation',
      type: 'bar',
      tooltip: {
        valueFormatter: function (value) {
          return value + ' ml';
        }
      },
      data: [
        2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
      ]
    },
    {
      name: 'Temperature',
      type: 'line',
      yAxisIndex: 1,
      tooltip: {
        valueFormatter: function (value) {
          return value + ' °C';
        }
      },
      data: [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
    }
  ]
};
  },
  created: function () {

  },
  methods:{
      
  }
}
</script>
<style scoped>
</style>

二、效果展示

 到此这篇关于Element中使用ECharts的项目实践的文章就介绍到这了,更多相关Element使用ECharts内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue+elementUI实现表单和图片上传及验证功能示例

    vue+elementUI实现表单和图片上传及验证功能示例

    这篇文章主要介绍了vue+elementUI实现表单和图片上传及验证功能,结合实例形式分析了vue+elementUI表单相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • vue内点击url下载文件的最佳解决方案分享

    vue内点击url下载文件的最佳解决方案分享

    这篇文章主要给大家介绍了关于vue内点击url下载文件的最佳解决方案,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-02-02
  • vue中接口域名配置为全局变量的实现方法

    vue中接口域名配置为全局变量的实现方法

    今天小编就为大家分享一篇vue中接口域名配置为全局变量的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • electron+vue 实现静默打印功能

    electron+vue 实现静默打印功能

    这篇文章主要介绍了electron+vue 实现静默打印功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • vue使用iframe嵌入网页的示例代码

    vue使用iframe嵌入网页的示例代码

    本篇文章主要介绍了vue使用iframe嵌入网页的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • vue使用el-table动态合并列及行

    vue使用el-table动态合并列及行

    这篇文章主要为大家详细介绍了vue使用el-table动态合并列及行,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Element-UI结合递归组件实现后台管理系统左侧菜单

    Element-UI结合递归组件实现后台管理系统左侧菜单

    在Vue.js中使用递归组件可以方便地构建多层级的菜单结构,递归组件适用于处理具有嵌套关系的数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Vue中使用highlight.js实现代码高亮显示以及点击复制

    Vue中使用highlight.js实现代码高亮显示以及点击复制

    本文主要介绍了Vue中使用highlight.js实现代码高亮显示以及点击复制,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • vue3页面加载完成后如何获取宽度、高度

    vue3页面加载完成后如何获取宽度、高度

    这篇文章主要介绍了vue3页面加载完成后如何获取宽度、高度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue3 element-plus如何使用icon图标组件

    vue3 element-plus如何使用icon图标组件

    这篇文章主要介绍了vue3 element-plus如何使用icon图标组件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03

最新评论