在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 用引入react及echart的方式做了一個頁面,頁面有多個圖表,每一個圖表都是

用引入react及echart的方式做了一個頁面,頁面有多個圖表,每一個圖表都是一個組件,請問如何讓echarts圖表自適應?

clipboard.png

回答
編輯回答
懶洋洋

window.onresize = myChart.resize;

2017年3月13日 02:16
編輯回答
浪婳

多個圖表只要避免覆蓋掉 window.onresize 方法就行了。

當然多個組件批處理的話,不妨寫個高階組件封裝一下。

const ChartWrapper = ChildComponent => class extends Component {
    componentDidMount() {
        if (window) {
            const onresize = window.onresize;
            window.onresize = () => {
                if (onresize) onresize();
                this.child.resize();
            };
        }
    }

    render() {
        return (
            <ChildComponent {...this.props} ref={(child) => { this.child = child; }} />
        );
    }
};

export default ChartWrapper;

然后確保每個子組件內(nèi)部實現(xiàn) resize 方法。

class Line extends Component {
    resize = () => {
        // myChart.resize();
    };
}

export default ChartWrapper(Line);
// 
class Bar extends Component {
    resize = () => {
        // myChart.resize();
    };
}

export default ChartWrapper(Bar);
2018年1月14日 08:07
編輯回答
孤島

如果你使用的是未被封裝的echarts,只能手動的調(diào)整寬高了……echarts默認不支持自適應,至少我看官方?jīng)]有找到相關資料;
沒找過其它版本的圖標庫,所以,不知道有沒有自適應的;

2017年5月26日 11:55
編輯回答
舊時光

監(jiān)聽window的resize事件,調(diào)用echarts實例的resize方法

2017年1月8日 22:50
編輯回答
懷中人
window.addEventListener('resize',function(){
            mychart.resize();
        })

對resize事件進行監(jiān)聽就可以了.

2017年6月1日 05:26