From 74ed7307cbd9346f06f2820280c3fe4074d33648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=9D=A8?= <1711467488@qq.com> Date: Sat, 17 Feb 2018 22:46:59 +0800 Subject: [PATCH] no message Former-commit-id: b383a9e03a6c8acba2f108ca8c00421981bddd0a Former-commit-id: 7446426d03be2c5cefb525889726efbc7ffd82cf Former-commit-id: ead7e469cbac2d94d5b6d8d2a7ca7ab7f4a090af --- .../charts/G2/components/Line/base.vue | 10 +----- src/components/charts/G2/mixins/G2.js | 32 +++++++++++++------ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/components/charts/G2/components/Line/base.vue b/src/components/charts/G2/components/Line/base.vue index 3dd8206e..90db6b9c 100644 --- a/src/components/charts/G2/components/Line/base.vue +++ b/src/components/charts/G2/components/Line/base.vue @@ -36,15 +36,7 @@ export default { }, // 数据源改变 重新渲染新的数据 changeData () { - if (this.chart) { - // 已经初始化过图表 更新数据 - this.$log('changeData', '已经初始化过图表 只更新数据') - this.chart.changeData(this.data) - } else { - // 没有图表 新创建一个实例 - this.$log('changeData', '没有图表 新创建一个实例') - this.init() - } + this.chart.changeData(this.data) } } } diff --git a/src/components/charts/G2/mixins/G2.js b/src/components/charts/G2/mixins/G2.js index 7ae75418..991f2ff8 100644 --- a/src/components/charts/G2/mixins/G2.js +++ b/src/components/charts/G2/mixins/G2.js @@ -30,26 +30,40 @@ export default { chart: null } }, - async mounted () { + mounted () { // 如果设置了在 mounted 后自动初始化 就在这里初始化 if (this.autoInit) { - // 延时 - await sleep(this.autoInitDelay) - // 初始化 - this.$nextTick(() => { - this.init() - }) + this.startInit() } }, watch: { // 数据改变 data () { - this.$nextTick(() => { + if (this.chart) { this.changeData() - }) + } else { + this.startInit() + } } }, methods: { + // 开始初始化 + async startInit () { + // 延时 + await sleep(this.autoInitDelay) + // 初始化 + this.$nextTick(() => { + if (this.chart) { + this.$log( + '@/components/charts/G2/mixins/G2.js', + '图表初始化取消', + '原因是在初始化时检测到已经存在图表实例' + ) + } else { + this.init() + } + }) + }, // 创建图表对象 creatChart () { // http://antv.alipay.com/zh-cn/g2/3.x/api/chart.html