父元素大小变化监听
echarts 开发的时候,需要让ehcart图片跟随父元素大小变化。
开始的时候用的是window resize,发现只有在浏览器窗口变化的时候才会触发事件(因为只监听window),而父元素大小变化echart并不会跟随变化
let container = document.getElementById('xx');
let myChart = echarts.init(container);
myChart.setOption(option, true);
// 图表自适应,只监听window的变化
window.addEventListener('resize', function () {
myChart.resize();
});
后面改用ResizeObserver
let container = document.getElementById('xx');
let myChart = echarts.init(container);
myChart.setOption(option, true);
// 定义ResizeObserver对象,并设置监听方法
const myObserver = new ResizeObserver(entry => {
myChart.resize();
});
// 添加要监听的元素,把echart的container div添加为监听对象
myObserver.observe(container);
本文介绍了如何使用ResizeObserver实现ECharts图表的自适应布局。针对初始仅监听window resize导致图表无法随父元素尺寸变化的问题,通过引入ResizeObserver,实现了图表对父元素大小变化的实时响应。
2951

被折叠的 条评论
为什么被折叠?



