Um Daten intuitiver anzuzeigen, werden bei Projekten immer diagrammbezogene Steuerelemente verwendet. Wenn es um Diagrammsteuerelemente geht, fällt mir natürlich als Erstes das Open-Source-Projekt ECharts ein, das nicht so ist Komponenten wie iview und element-ui sind sehr bequem zu verwenden, erfordern jedoch einen kleinen Umweg. Der Einfachheit halber ist ECharts in einer Ebene gekapselt.
Echarts, Remodal und Pikaday sind drei Komponenten von Drittanbietern, die häufig bei der Entwicklung von Backend-Management-Websites verwendet werden. Dieser Artikel führt Sie hauptsächlich in die relevanten Inhalte von vue.js ein, die Echarts in Komponenten für die Verwendung mit einem Klick kapseln Teilen Sie es zum Nachschlagen und Studieren für alle. Ich werde im Folgenden nicht viel mehr sagen, werfen wir einen Blick auf die detaillierte Einführung.
Kontrolldemonstration
Kontrollnutzung
Übersicht
Sekundärverpackung auf Basis von Echarts
Angetrieben durch Daten
Der Quellcode der Steuerung ist in src/components/charts zu finden
Dokumentation
props
Attribut | Beschreibung | Typ | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
_id | Die eindeutige Kennung des Diagramms, wenn die ID wiederholt wird, wird ein Fehler gemeldet. | String | |||||||||||||||||||||
_titleText td> | Diagrammtitel | String | |||||||||||||||||||||
_xText | X-Achsen-Beschreibung | String | |||||||||||||||||||||
_yText | y-Achsen-Beschreibung | String | |||||||||||||||||||||
_chartData td> | Diagrammdaten | Array | |||||||||||||||||||||
_type | Diagrammtypen mit drei Typen (LineAndBar/LineOrBar/Pie) |
|
Aufrufbeispiel
<chart :_id="'testCharts'" :_titleText="'访问量统计'" :_xText="'类别'" :_yText="'总访问量'" :_chartData="chartData" :_type="'Pie'"></chart> //测试数据样例 [["类别1",10],["类别2",20]]
Implementierungsmethode
Dom zum Rendern erstellen
<template> <p :id="_id" class="chart"></p> </template>
Zeichnungsfunktion
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} ({d}%)" }, 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)' } } } ] }) }
Montage endet, Neuzeichnen, wenn sich die Datenquelle ändert
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 } }
Verwandte Empfehlungen:
Detaillierte Erläuterung der Verwendung des Hinzufügens von Echarts-Diagrammen in Vue
Detaillierte Einführung in die Verwendung von Echarts
Das obige ist der detaillierte Inhalt vonvue.js kapselt Echarts als Komponente für die Verwendung mit einem Klick. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!