react 中echarts-for-react使用resize解決圖表自適應問題

import React, { PureComponent } from "react";
import ReactEcharts from 'echarts-for-react';

class LineChart extends PureComponent {
  constructor(props) {
    super(props);
    this.state = {}
    
  componentDidMount() {
    let myChart = this.echarts&&this.echarts.getEchartsInstance(); 
    //拿到實例后 通過getEchartsInstance(),在EchartsReactCore里ECharts實例
    //注意EchartsReactCore實例和ECharts實例的區(qū)別 下面附上圖片
    //監(jiān)聽窗口onresize變化  這里有兩種寫法 推薦使用addEventListener寫法 第一種方法綁定多個resize事件 
    //會被覆蓋
    //這里只是簡寫 這里可以把函數(shù)提出來
     //window.onresize = ()=> {
     // myChart&&myChart.resize();
    // };
    window.addEventListener('resize',()=>{
      myChart&&myChart.resize();
    })
  }

  render() {
    const { option } = this.state; //option省略 看具體需求 
    return (
      <div className="data-collection" style={{width:'100%',height:'100%'}}>
         通過ref 拿到EchartsReactCore 實例
        <ReactEcharts  ref={(e) => { this.echarts = e;}} option={option} style={{width:'100%',height:'100%'}}/>
      </div>
    );
  }
}
export default LineChart;
EchartsReactCore實例.png
ECharts實例.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容