React+Echarts 因菜单栏导致的图表不能自适应

342 阅读1分钟

问题:当菜单栏收起或弹出时造成echart的容器宽度变化,而echart本身不跟随
解决:使用resizeObserver监听echart的父元素,当父元素变化时,调用echart的resize方法重新渲染
代码

        // 监听窗口变化
        window.addEventListener("resize", function () {
            myChart.resize();

        });
        // 监听父元素变化
        const resizeObserver = new ResizeObserver(entries => {
            for (let entry of entries) {
                myChart.resize();

            }
        });
        resizeObserver.observe(document.getElementById("父元素id"))

注意:echart所在元素宽度需要为百分制,例:100%