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 正则替换 replace(regExp, function)用法
May 22 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
JS Map 和 List 的简单实现代码
Jul 08 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
Jun 24 Javascript
Javascript中的包装类型介绍
Apr 02 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
Javascript字符串常用方法详解
Jul 21 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
es6基础学习之解构赋值
Dec 10 Javascript
读懂CommonJS的模块加载
Apr 19 Javascript
使用layui的router来进行传参的实现方法
Sep 06 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循环输出数据库内容的代码
2008/05/24 PHP
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
php使用递归与迭代实现快速排序示例
2014/01/23 Python
python编程嵌套函数实例代码
2018/02/11 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
英国探险旅游专家:Explore
2018/12/20 全球购物
I.T集团香港官方商城:ITeSHOP.com Hong Kong
2019/02/15 全球购物
单位提档介绍信
2014/01/17 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
会计系毕业生求职信
2014/05/28 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers