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 相关文章推荐
javascript中的location用法简单介绍
Mar 07 Javascript
[原创]站长必须要知道的javascript广告代码
May 30 Javascript
setTimeout 不断吐食CPU的问题分析
Apr 01 Javascript
jQuery 连续列表实现代码
Dec 21 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
Jun 27 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
Mar 04 Javascript
jQuery实现简单下拉导航效果
Sep 07 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 Javascript
优雅的处理vue项目异常实战记录
Jun 05 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
PHP 事务处理数据实现代码
2010/05/13 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
php实现word转html的方法
2016/01/22 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
表格 隔行换色升级版
2009/11/07 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
python的id()函数解密过程
2012/12/25 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Python __slots__的使用方法
2020/11/15 Python
医学生毕业自我鉴定
2014/03/26 职场文书
法院信息化建设方案
2014/05/21 职场文书
企业趣味活动方案
2014/08/21 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
自我推荐信格式模板
2015/03/24 职场文书
实习介绍信范文
2015/05/05 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书