antv g2官方网站提供的方法changeData
具体步骤:
1.按需引入使用的图表:import { Bar } from '@antv/g2plot'
2.定义包裹容器<div id="echart"></div>
3.声明挂载对象chartChange
4.定义数据(调用接口的地方声明)this.chartChange= new Bar('echart', {
autoFit: true,
padding: [0, 40, 0, 40],
data: [],
xField: 'sales',
yField: 'type',
meta: {
type: {
alias: '类别'
},
sales: {
alias: '销售额'
}
},
minBarWidth: 20,
maxBarWidth: 20,
label: {
position: 'right',
offset: 4
}
})
5.渲染:this.chartChange.render()
6.接口返回的数据处理data值
若通过条件渲染图片,
例:通过下拉框a-select选择改变更新图表数据,事件函数中监听处理
<a-select
:key="this.$route.query.pId ? this.contrastDetail.crmGroupId : '请选择'"
@change="choseHandleChange"
>
<a-select-option :value="item.id" :label="item.id" v-for="item in groupsList" :key="item.id">
{{item.groupName}}
</a-select-option>
</a-select>
choseHandleChange (value){
if (this.chartChange) {
判断是否已经有渲染,有的话调用changeData方法进行更改
this.chartChange.changeData(e)
} else {
this.chartChange()
}
}
注:created中调用使用this.$nextTick( function() {
this.chartChange.render()
} )
antv g2图表重新渲染
最新推荐文章于 2022-06-27 09:04:54 发布