我尝试制作被动更改的图表,因此我更改了一些值,然后更改了计算出的ChartData()将其放入组件,但没有任何效果。我正在尝试使用更新()函数,但我没有它的示例。如何将函数用作.update(),.destroy()为我的LineChart当我没有它的示例?我可以得到图形的示例吗?什么是错的?我想我有2个方法来更新它?是吗?
**Update:**实际上我得到了示例,但问题仍然存在。计算属性不更新Line中的数据,update()不做任何事情。
<template>
<div class="graph__busManag">
<Line ref="Graph" id="Chart" :data="ChartData" :options="options" :plugins="plugins" />
</div>
</template>
<script>
import {
Chart as ChartJS,
CategoryScale,
LinearScale,
PointElement,
LineElement,
Title,
Tooltip,
Legend,
} from "chart.js";
ChartJS.register(
CategoryScale,
LinearScale,
PointElement,
LineElement,
Title,
Tooltip,
Legend
);
import { Line } from "vue-chartjs";
data() {
return {
data: ...something,
option: ...somedata,
},
computed: {
ChartData() {
return this.data; // Should update graph, but doesn't , despite the fact that it is constantly triggered
}
},
mounted() {
this.data.datasets.data = [50, 60, 70, 80, 90, 100];
this.data = {...this.data};
const chartInstance = this.$refs.Graph.chart
console.log(chartInstance);
chartInstance.update(); // not working
chartInstance.reset(); // not w
},
}
1条答案
按热度按时间xzv2uavs1#
您可以使用静态方法getChart,向该方法传递您为图表指定的ID。在这里,您将返回图表示例,您可以向该示例调用update: