vue2.0 自定义 饼状图 (Echarts)组件的方法

 更新时间:2018年03月02日 10:53:39   作者:18844151806  
下面小编就为大家分享一篇vue2.0 自定义 饼状图 (Echarts)组件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、自定义 图表 组件

Echarts.vue

<!-- 自定义 echart 组件 -->
<template>
 <div>
 <!-- echart表格 -->
 <div id="myChart" :style="echartStyle"></div>
 </div>
</template>
 
<script>
 export default {
 props: {
  // 样式
  echartStyle: {
  type: Object,
  default(){
   return {}
  }
  },
  // 标题文本
  titleText: {
  type: String,
  default: ''
  },
  // 提示框键名
  tooltipFormatter: {
  type: String,
  default: ''
  },
  // 扇形区域名称
  opinion: {
  type: Array,
  default(){
   return []
  }
  },
  // 提示框标题
  seriesName: {
  type: String,
  default: ''
  },
  // 扇形区域数据
  opinionData: {
  type: Array,
  default(){
   return []
  }
  },
 },
 data(){
  return {
  //
  }
 },
 mounted(){
  this.$nextTick(function() {
  this.drawPie('myChart')
  })
 },
 methods: {
  // 监听扇形图点击
  eConsole(param) {
  // 向父组件传值
  this.$emit("currentEchartData",param.name);
  },
  // 绘制饼状图
  drawPie(id){
  this.charts = this.$echarts.init(document.getElementById(id));
  this.charts.on("click", this.eConsole);
  this.charts.setOption({
   title: {
   text: this.titleText, // 标题文本
   left: 'center'
   },
   tooltip : {
   trigger: 'item',
   formatter: "{a} <br/> " + this.tooltipFormatter + ":{c}"
   },
   legend: {
   bottom: 20,
   left: 'center',
   data: this.opinion // 扇形区域名称
   },
   series : [
   {
    name:this.seriesName, // 提示框标题
    type: 'pie',
    radius : '65%',
    center: ['50%', '50%'],
    selectedMode: 'single',
    data:this.opinionData, // 扇形区域数据
    itemStyle: {
    emphasis: {
     shadowBlur: 10,
     shadowOffsetX: 0,
     shadowColor: 'rgba(0, 0, 0, 0.5)'
    }
    }
   }
   ]
  })
  }
 }
 }
</script>
 
<style lang="less" scoped>
 #myChart{
 width: 100%;
 }
</style>

2、页面调用

Diagram.vue

<!-- 图表 -->
<template>
 <div>
 <!-- 标题栏 -->
 <mt-header title="图表">
  <router-link to="/" slot="left">
  <mt-button icon="back">返回</mt-button>
  </router-link>
 </mt-header>
 <!-- 内容 -->
 <m-echarts
  :echartStyle="s"
  :titleText="a"
  :tooltipFormatter="b"
  :opinion="c"
  :seriesName="d"
  :opinionData="e"
  v-on:currentEchartData="getEchartData"
 ></m-echarts>
 </div>
</template>
 
<script>
 import mEcharts from '../components/Echarts'
 
 export default {
 name: 'Diagram',
 components: {
  mEcharts
 },
 data(){
  return {
  a:'水果销售统计',
  b:'销售数量',
  c:['香蕉','苹果','橘子'],
  d:'销售统计',
  e:[
   {value:3, name:'香蕉'},
   {value:3, name:'苹果'},
   {value:3, name:'橘子'}
   ],
  s: {
   height: ''
  }
  }
 },
 created(){
  // 获取屏幕高度
  this.s.height = document.documentElement.clientHeight - 44 + 'px';
 },
 methods: {
  getEchartData(val){
  console.log(val);
  }
 }
 }
</script>
 
<style lang="less" scoped>
 //
</style>

3、效果图

以上这篇vue2.0 自定义 饼状图 (Echarts)组件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue 中filter的多种用法

    vue 中filter的多种用法

    这篇文章主要介绍了vue 中filter的多种用法,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2018-04-04
  • Vue3 框架Arco Design详解

    Vue3 框架Arco Design详解

    Arco Design 作为一款专为 Vue3 打造的企业级 UI 组件库,以其丰富的特性和卓越的性能,成为现代 Web 应用开发者值得关注的选择,这篇文章主要介绍了Vue3 框架Arco Design详解,需要的朋友可以参考下
    2024-08-08
  • vue双向锚点实现过程简易版(scrollIntoView)

    vue双向锚点实现过程简易版(scrollIntoView)

    这篇文章主要介绍了vue双向锚点实现过程简易版(scrollIntoView),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Vue实现购物车的全选、单选、显示商品价格代码实例

    Vue实现购物车的全选、单选、显示商品价格代码实例

    这篇文章主要介绍了Vue实现购物车的全选、单选、显示商品价格实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • vue第一次获取不到元素的解决方法记录

    vue第一次获取不到元素的解决方法记录

    Vue.js虽然说是数据驱动页面的,但是有时候我们也要获取dom对象进行一些操作。这篇文章主要给大家介绍了关于vue第一次获取不到元素的解决方法,需要的朋友可以参考下
    2021-06-06
  • vue组件(全局,局部,动态加载组件)

    vue组件(全局,局部,动态加载组件)

    组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。这篇文章主要介绍了vue组件(全局,局部,动态加载组件),需要的朋友可以参考下
    2018-09-09
  • vue基于websocket实现智能聊天及吸附动画效果

    vue基于websocket实现智能聊天及吸附动画效果

    这篇文章主要介绍了vue基于websocket实现智能聊天及吸附动画效果,主要功能是基于websocket实现聊天功能,封装了一个socket.js文件,使用Jwchat插件实现类似QQ、微信电脑端的功能,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Vue3 table表格组件的使用

    Vue3 table表格组件的使用

    这篇文章主要介绍了Vue3 table表格组件的使用,文章围绕table表格组件是如何使用的相关资料展开详细内容,需要的朋友可以参考一下
    2021-11-11
  • vue项目创建步骤及路由router

    vue项目创建步骤及路由router

    本文主要给大家分享了vue项目的创建步骤以及vue路由router的相关知识点,非常的实用,有需要的小伙伴可以来参考下
    2020-01-01
  • vue项目实现背景颜色以及下划线从左到右渐变动画效果

    vue项目实现背景颜色以及下划线从左到右渐变动画效果

    这篇文章主要介绍了vue项目实现背景颜色以及下划线从左到右渐变动画效果,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08

最新评论