const resizeObserver = ref(null);
//进行初始化和监听窗口变化
onMounted(async () => {
await nextTick(() => {
initChart();
setOptions(options.value, opts.value ?? true);
});
window.addEventListener('resize', handleResize);
resizeObserver = new ResizeObserver(() => handleResize);
resizeObserver.observe($el);
});
//调用echarts的resize方法
//charts.value是通过 echarts.init 创建的实例。
const handleResize = () => {
if (!charts.value) return;
charts.value.resize();
};
//销毁前移除监听
onBeforeUnmount(() => {
window.removeEventListener('resize', handleResize);
resizeObserver.disconnect();
});
Vue3 echarts 组件化使用 resizeObserver
最新推荐文章于 2024-07-25 09:51:39 发布