国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue.js如何將echarts封裝為組件一鍵使用詳解

2019-11-19 15:12:31
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于vue.js將echarts封裝為組件一鍵使用的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

說明

做項目的時候為了讓數據展示的更加直觀,總會用到圖表相關的控件,而說到圖表控件第一時間當然想到ECharts這個開源項目,而它不像iview、element-ui這些組件使用起來那么便捷,需要繞一個小彎,為了圖方便于是對ECharts進行了一層封裝

控件演示


控件使用

概要

  • 基于echarts的二次封裝
  • 由數據驅動
  • 控件源碼見src/components/charts

文檔

props

屬性 說明 類型
_id 圖表唯一標識,當id重復將會報錯 String
_titleText 圖表標題 String
_xText x軸描述 String
_yText y軸描述 String
_chartData 圖表數據 Array
_type 圖表類型,提供三種(LineAndBar/LineOrBar/Pie)

調用示例

 <chart :_id="'testCharts'" :_titleText="'訪問量統計'" :_xText="'類別'" :_yText="'總訪問量'" :_chartData="chartData" :_type="'Pie'"></chart> //測試數據樣例 [["類別1",10],["類別2",20]]

實現方式

創建一個待渲染的dom

<template> <div :id="_id" class="chart"></div></template>

繪制函數

function drawPie(chartData,id,titleText,xText,yText) { var chart = echarts.init(document.getElementById(id)) var xAxisData = chartData.map(function (item) {return item[0]}) var pieData = [] chartData.forEach((v,i)=>{  pieData.push({  name:v[0],  value:v[1]  }) }) chart.setOption({  title : {  text: titleText,  subtext: '',  x:'center'  },  tooltip : {  trigger: 'item',  formatter: "{a} <br/>{b} : {c} (iwvjtn8m0%)"  },  legend: {  orient: 'vertical',  left: 'left',  data: xAxisData  },  series : [  {   name: xText,   type: 'pie',   radius : '55%',   center: ['50%', '60%'],   data:pieData,   itemStyle: {   emphasis: {    shadowBlur: 10,    shadowOffsetX: 0,    shadowColor: 'rgba(0, 0, 0, 0.5)'   }   }  }  ] }) }

掛載結束、數據源改變時重繪

 watch:{  _chartData(val){  switch (this._type){   case "LineAndBar":   drawLineAndBar(val,this._id,this._titleText,this._xText,this._yText);   break   case "LineOrBar":   drawLineOrBar(val,this._id,this._titleText,this._xText,this._yText);   break   case "Pie":   drawPie(val,this._id,this._titleText,this._xText,this._yText);   break   default:   drawLineAndBar(val,this._id,this._titleText,this._xText,this._yText);   break  }  } }, mounted() {  switch (this._type){  case "LineAndBar":   drawLineAndBar(this._chartData,this._id,this._titleText,this._xText,this._yText);   break  case "LineOrBar":   drawLineOrBar(this._chartData,this._id,this._titleText,this._xText,this._yText);   break  case "Pie":   drawPie(this._chartData,this._id,this._titleText,this._xText,this._yText);   break  default:   drawLineAndBar(this._chartData,this._id,this._titleText,this._xText,this._yText);   break  } }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太原市| 仲巴县| 子长县| 通州市| 苗栗市| 广南县| 泰宁县| 武清区| 南康市| 寿宁县| 新密市| 邹平县| 甘肃省| 麻栗坡县| 呼玛县| 顺昌县| 阿鲁科尔沁旗| 尼玛县| 松阳县| 台北市| 西乌| 万全县| 大方县| 呼玛县| 洛宁县| 汕尾市| 荔浦县| 井研县| 叙永县| 修文县| 楚雄市| 民丰县| 休宁县| 石泉县| 镇雄县| 穆棱市| 百色市| 西吉县| 青阳县| 夏河县| 奎屯市|