我有一个带有两个vue-tab
s 的组件,每个组件都有两个实例vue-chart-js
。尽管它们在没有错误的情况下被初始化,但当我尝试通过document.querySelector('#mySecondChart').toDataURL()
. 只有当我单击该选项卡并使其处于活动状态时,此图表才会转换为图像。默认活动选项卡中的图表会正确转换为图像。这是代码:
<template>
<div>
<vue-tabs>
<v-tab>
<my-first-chart-component/>
</v-tab>
<v-tab>
<my-second-chart-component/>
</v-tab>
</vue-tabs>
<button @click="extractCharts">Extract charts</button>
</div>
</template>
<script>
// imports omitted
export default {
name: 'MyParentComponent',
// data and props omitted
methods: {
extractCharts() {
let charts = document.querySelectorAll('chart')
let firstChart = charts[0].toDataURL();
let secondChart = charts[1].toDataURL();
console.log(`${firstChart} \n\n\n ${secondChart}`)
}
}
}
</script>
当我单击按钮而不转到第二个选项卡时,我的方法输出第一个图表的 DOMString,而第二个图表不输出任何内容。只有当我首先访问第二个选项卡,然后单击按钮时,我的方法才会返回两个字符串化图表。有什么方法可以强制渲染第二个图表而不激活包含它的选项卡?