我正在尝试让 Apex 图表(在 Vue.js 中)也更新它们的标签。我使用以下示例作为基础:
https://apexcharts.com/vue-chart-demos/pie-charts/update-donut/
我做了一个非常基本的图表来演示这个问题。它在开始时有数据项和 3 个标签。更新按钮连接到更新事件。当您单击它时,数据会更改,但标签不会。两种都试过 - 直接设置:
this.chartOptions.labels = [] ...
并使用 vue 机制:
this.$set(this.chartOptions, "labels", ["d", "e", "f"]);
不过,他们似乎都没有改变标签。
这是它的代码笔: https ://codesandbox.io/s/vue-basic-example-z72rk?fontsize=14&hidenavigation=1&theme=dark
<template>
<div class="example">
<label>{{updated}}</label>
<apexcharts width="300" height="300" type="donut" :options="chartOptions" :series="series"></apexcharts>
<button v-on:click="changeChart">Update</button>
</div>
</template>
<script>
import VueApexCharts from "vue-apexcharts";
export default {
name: "Chart",
components: {
apexcharts: VueApexCharts
},
data: function() {
return {
updated: "Not updated",
chartOptions: {
chart: {
id: "basic-donut"
},
labels: ["a", "b", "c"]
},
series: [30, 40, 45]
};
},
methods: {
changeChart() {
this.series = [1, 2, 3];
this.chartOptions.labels = ["d", "e", "f"];
this.$set(this.chartOptions, "labels", ["d", "e", "f"]);
this.$set(this, "updated", "Updated");
}
}
};
</script>
我想我对 Apex 饼图/甜甜圈图的工作原理有一些了解,但我似乎也无法在文档中找到这一点。