Vue chartjs默认禁用数据集

时间:2018-02-10 16:05:47

标签: javascript charts vue.js vue-chartjs

在我的战队,Supercell游戏中的战争之王的项目中。我正在尝试使用chart.js制作当前捐赠的图表。我正在使用Vue作为图表的前端和vue-chartjs。只有一个问题。当我打开页面时,数据集不可见。那么我该如何解决这个问题呢?

这是图表数据对象:

donation_chart_data: {
     labels: [],
     datasets: [
         {
             label: 'Donated',
             hidden: false,
             backgroundColor: '#1D93D3',
             data: []
         },
         {
             label: 'Received',
             hidden: false,
             backgroundColor: '#C7031F',
             data: []
         }
     ]
}

这是DonationChart组件:

import { Bar, mixins } from 'vue-chartjs'
const { reactiveProp } = mixins;

export default {
    extends: Bar,
    name: 'ClashRoyaleDonationChart',
    mixins: [reactiveProp],
    mounted () {
        // Overwriting base render method with actual data.
        this.renderChart(this.chartData,
        {
            responsive: true,
            maintainAspectRatio: false
        })
    }
}

PS:当我点击图例时,数据显示正确

1 个答案:

答案 0 :(得分:2)

好吧,我猜您使用API​​来获取数据?

然后您需要检查数据是否可用。 Axios / Ajax请求是异步的。因此,大多数情况下,您的图表将在没有数据的情况下呈现。

只需在图表组件和

中添加v-if =“已加载”

axios.get()。then()方法,设置loaded = true,你应该没问题。