您好,欢迎访问一九零五行业门户网

在vue2.0中如何实现自定义 饼状图 (Echarts)组件

下面我就为大家分享一篇vue2.0 自定义 饼状图 (echarts)组件的方法,具有很好的参考价值,希望对大家有所帮助。
1、自定义 图表 组件
echarts.vue
<!-- 自定义 echart 组件 --> <template> <p> <!-- echart表格 --> <p id="mychart" :style="echartstyle"></p> </p> </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> <p> <!-- 标题栏 --> <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> </p> </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、效果图
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在vue.directive中发现有关自定义指令的问题
详细讲解javascript图片处理与合成技术(详细教程)
如何实现微信web端后退强制刷新功能(详细教程)
以上就是在vue2.0中如何实现自定义 饼状图 (echarts)组件的详细内容。
其它类似信息

推荐信息