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 相关文章推荐
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
Aug 01 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
vue-router单页面路由
Jun 17 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
基于webpack4+vue-cli3项目实现换肤功能
Jul 17 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
Sep 26 Javascript
vue-element-admin 菜单标签失效的解决方式
Nov 12 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
手机端转换rem适应
2017/04/01 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
vue 粒子特效的示例代码
2017/09/19 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
python面试题之列表声明实例分析
2019/07/08 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
幼师自荐信范文
2013/10/06 职场文书
总经理助理职责
2014/02/04 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android