在我的战队,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:当我点击图例时,数据显示正确
答案 0 :(得分:2)
好吧,我猜您使用API来获取数据?
然后您需要检查数据是否可用。 Axios / Ajax请求是异步的。因此,大多数情况下,您的图表将在没有数据的情况下呈现。
只需在图表组件和
中添加v-if =“已加载”axios.get()。then()方法,设置loaded = true,你应该没问题。