2

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

这是图表数据对象:

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:当我点击图例时,数据显示正常

4

1 回答 1

2

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

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

只需在您的图表组件和您的

axios.get().then() 方法,设置加载=真,你应该没问题。

于 2018-03-12T17:17:43.390 回答