您的当前位置:首页正文

关于vueantVG2-3.X组件化的介绍

2020-11-27 来源:品趣旅游知识分享网
这篇文章主要介绍了关于vue antV G2-3.X组件化的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

从网上看到 阿里系的图表 antv 觉得非常不错,就想整合到vue中使用。参考了Vuejs2.X组件化-阿里的G2图表组件

安装

npm install @antv/g2 --save

创建vue组件 components/G2Line.vue

<template>
 <p :id="id"></p>
</template>

<script>
import G2 from '@antv/g2'
export default {
 data () {
 return {
 chart: null
 }
 },
 props: {
 charData: {
 type: Array,
 default: function () {
 return {
 data: []
 }
 }
 },
 id: String
 },
 mounted () {
 this.drawChart()
 },
 methods: {
 drawChart: function () {
 this.chart && this.chart.destory()
 this.chart = new G2.Chart({
 container: this.id,
 width: 600,
 height: 300
 })
 this.chart.source(this.charData)
 this.chart.scale('value', {
 min: 0
 })
 this.chart.scale('year', {
 range: [0, 1]
 })
 this.chart.tooltip({
 crosshairs: {
 type: 'line'
 }
 })
 this.chart.line().position('year*value')
 this.chart.point().position('year*value').size(4).shape('circle').style({
 stroke: '#fff',
 lineWidth: 1
 })
 this.chart.render()
 }
 }
}
</script>

修改HelloWorld.vue 引用组件

<template>
 <p>
 <g2-line :charData="serverData" :id="'c1'"></g2-line>
 </p>
</template>

<script>
import G2Line from './G2Line.vue'
export default {
 components: {
 G2Line
 },
 data () {
 return {
 serverData: [{
 year: '2010',
 value: 3
 }, {
 year: '2011',
 value: 4
 }, {
 year: '2012',
 value: 3.5
 }, {
 year: '2013',
 value: 5
 }, {
 year: '2014',
 value: 4.9
 }, {
 year: '2015',
 value: 6
 }, {
 year: '2016',
 value: 7
 }, {
 year: '2017',
 value: 9
 }, {
 year: '2018',
 value: 13
 }]
 }
 },
 methods: {
 // 此处省略从服务器获取数据并且赋值给this.serverData
 // 推荐使用axios请求接口
 }
}
</script>

效果

1577055664-5b397aa2a16d8_articlex[1].png

显示全文