最簡單解決方案
切換v-show到v-if
不那么簡單的解決方案
找到父元素中寬度固定不被v-show影響的元素,獲取其寬度
let fool = document.getElementById('fool');
let body=document.getElementsByClassName(someDom)[0]
fool.style.width =body.clientWidth + 'px';
let echart = echarts.init(fool);
echart.setOption(option);
// 監(jiān)聽父元素寬度變化,更新charts實例寬度
const resizeObserver = new ResizeObserver(entries => {
console.log('resizeObserver')
//回調(diào)
fool.style.width = body.clientWidth + 'px';
echart.resize();
});
resizeObserver.observe(body);
試了但是沒用的解決方案
window.addEventListener('resize', () =>
this.chartsDom ? this.chartsDom.resize() : ''
);