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


Posted in Javascript onMarch 02, 2018

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)组件的方法

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

Javascript 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
js实现非常简单的焦点图切换特效实例
May 07 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
Angular中$cacheFactory的作用和用法实例详解
Aug 19 Javascript
微信小程序  生命周期详解
Oct 27 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
Jul 13 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
vue插槽slot的理解和使用方法
Apr 03 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
vue 使用eventBus实现同级组件的通讯
Mar 02 #Javascript
详解node.js 下载图片的 2 种方式
Mar 02 #Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 #Javascript
详解vue2.0+vue-video-player实现hls播放全过程
Mar 02 #Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
Mar 02 #Javascript
浅谈FastClick 填坑及源码解析
Mar 02 #Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 #Javascript
You might like
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
php递归法读取目录及文件的方法
2015/01/30 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
JS实现div居中示例
2014/04/17 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
前端微信支付js代码
2016/07/25 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
用Python解决计数原理问题的方法
2016/08/04 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
python随机生成库faker库api实例详解
2019/11/28 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
大学生个人推荐信范文
2013/11/25 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
先进事迹材料范文
2014/12/29 职场文书
入党群众意见范文
2015/06/02 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL