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 格式化银行卡(信用卡)每4位一个符号隔断的问题

    解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题

    这篇文章主要介绍了vue 格式化银行卡(信用卡)每4位一个符号隔断的问题,本文给大家分享了解决方法,需要的朋友可以参考下
    2018-09-09
  • vue3常用的指令之v-bind和v-on指令用法

    vue3常用的指令之v-bind和v-on指令用法

    vue的v-on与v-bind,v-on就是用于绑定事件的,下面这篇文章主要给大家介绍了关于vue3常用的指令之v-bind和v-on指令用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Vue.js响应式数据的简单实现方法(一看就会)

    Vue.js响应式数据的简单实现方法(一看就会)

    Vue最巧妙的特性之一是其响应式系统,下面这篇文章主要给大家介绍了关于Vue.js响应式数据的简单实现方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • 详解keep-alive + vuex 让缓存的页面灵活起来

    详解keep-alive + vuex 让缓存的页面灵活起来

    这篇文章主要介绍了keep-alive + vuex 让缓存的页面灵活起来,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue打包之后配置统一请求地址步骤详解

    vue打包之后配置统一请求地址步骤详解

    这篇文章主要为大家介绍了vue打包之后配置统一请求地址实现步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Vue 中使用富文本编译器wangEditor3的方法

    Vue 中使用富文本编译器wangEditor3的方法

    这篇文章主要介绍了Vue 中使用富文本编译器wangEditor3的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 解决element-ui中下拉菜单子选项click事件不触发的问题

    解决element-ui中下拉菜单子选项click事件不触发的问题

    今天小编就为大家分享一篇解决element-ui中下拉菜单子选项click事件不触发的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue+animation动画实现跑马灯效果

    vue+animation动画实现跑马灯效果

    这篇文章主要为大家详细介绍了vue+animation动画实现跑马灯效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)

    你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)

    这篇文章主要介绍了你不知道的Vue技巧之--开发一个可以通过方法调用的组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue实现新闻展示页的步骤详解

    vue实现新闻展示页的步骤详解

    最近小编遇到这样的需求,要实现一个新闻展示页功能,刚接到这样的需求还真是一头雾水,不知从哪入手,今天小编通过实例代码给大家介绍下vue实现新闻展示页的步骤详解,感兴趣的朋友跟随小编一起看看吧
    2019-04-04

最新评论