<template>
<v-chart ref="line-chart" class="line-chart" :option="chartOptions"/>
</template>
export default defineComponent({
setup(props) {
let chartDemo = getCurrentInstance().refs['line-chart']
onMounted(()=> {
chartDemo = getCurrentInstance().refs['line-chart']
})
const chartOptions = reactive({})
watch(() => props.data,
(newData) => {
// 更新 chartOptions;
// 可能由于 vue-echarts 内部的 bug, 更新 reactive options 后图表会出现上次数据集残留的脏数据
// 所以需要手动更新
chartDemo.setOption(chartOptions, true)
})
}
})