网络编程
位置:首页>> 网络编程>> JavaScript>> vue2.0 自定义 饼状图 (Echarts)组件的方法

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

作者:18844151806  发布时间:2024-04-27 15:51:07 

标签:echarts,饼状图,vue,自定义

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

来源:http://blog.csdn.net/qq_37880968/article/details/79399600

0
投稿

猜你喜欢

  • 本文实例讲述了MySQL无法存储emoji表情解决方案。分享给大家供大家参考,具体如下:今天学习爬虫爬伯乐在线的文章,由于在文章中有emoj
  • 突然想到了之前一直没留意的for循环中开goroutine的执行顺序问题,就找了段代码试了试,试了几次后发现几个有意思的地方,我暂时没有精力
  • 问题问题是这样的,要把一个数组存到tfrecord中,然后读取a = np.array([[0, 54, 91, 153, 177,1],
  • Cookie的英文原意是“点心”,它是在客户端访问Web服务器时,服务器在客户端硬盘上存放的信息,好像是服务器发送给客户的“点心”。服务器可
  • 当 Yii框架仍处于 RC(候选版)阶段时,我们 对它进行过报道,那时它刚刚全面达到候选版本阶段,(现在它已经发布了正式版本)我们感觉是时候
  • MySQL 分区技术(是mysql 5.1以版本后开始用->是甲骨文mysql技术团队维护人员以插件形式插入到mysql里面的技术)1
  • 索引类型聚簇索引: 叶子节点存储的是行记录,每个表必须要有至少一个聚簇索引。使用聚簇索引查询会很快,因为可以直接定位到行记录普通索引:二级索
  • 多进程通信方法好多,不一而数。刚才试python封装好嘅多进程通信模块 multiprocessing.connection。简单测试咗一下
  • 很久以前写过如何成为优秀的设计师,近半年来经常做设计评审,有很多感触,顺便写一点下来,我们的Blog也应该有更高的更新频率。言归正传,我认为
  • 以Python 3.x版本为主一、条件语句条件语句基本结构0或null为false,其余则为trueif 判定条件:语句块...可多行els
  • 网页设计中的脏、乱、差,是我们在设计过程中常会遇到的问题。通常"脏"是由对色彩使用不当所产生的,而色彩使用不当产生的不好
  • 本文主要向大家介绍的是正确优化SQL Server数据库的经验总结,其中包括在对其进行优化的实际操作中值得大家注意的地方描述,以及对SQL语
  • 这篇文章主要介绍了python enumerate内置函数用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
  • 一、背景 简单的写个.exe程序,没必要去学习mfc、c++等,可以学习python。python可以轻易的调用windows的api,轻松
  • torch.nn 是专门为神经网络设计的模块化接口,nn构建于autgrad之上,可以用来定义和运行神经网络nn.Module 是nn中重要
  • 进程和线程的区别和联系终于开始加深难度,来到进程和线程的知识点~单就这两个概念,就难倒过不少初学者&mdash;&mdash
  • 功能:返回字符、二进制、文本或图像表达式的一部分语法:SUBSTRING ( expression, start, length ) 1、s
  • 用实例来说明 import 的作用吧。创建以下包结构。一个文件夹 cookFish/,下面包含两个文件, __init__.py和cookB
  • 组件简介组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以
  • 目的:了解常用的ORM框架;使用SQLObject框架操作MySQL数据库。面试题:在Python语言中有哪些常用的ORM框架,它们有什么区
手机版 网络编程 asp之家 www.aspxhome.com