<div className='LineEcharts'> !LineData ? <div className='loader_wrap'> <Spin /> </div> : JSON.stringify(LineData) === '{}' ? <div className="echart_nodata LineEcharts_nodata"> <i className="iconfont iconzanwushuju echart_nodata_icon"></i> <p>{ formatMessage({id: 'common_noData'}) }</p> </div> : <div id='EchartsMain' ref={(EchartsRef)}></div> </div>
这是我写的代码,很简略,如果数据为null,就显示loading动画,如果没有数据就显示暂无数据,逻辑很简略,就是在切换Tab的时候暂无数据和Echarts同时呈现了,很纳闷,为啥啊,打印了数据也没问题,起初看了看Echarts,发现Echarts的Dom没有革除掉,Echarts会附着在LineEcharts这个父元素上,导致Echarts没有革除掉,只有在 id='EchartsMain'的dom里面在套一层div就完满的解决问题了。在此记录一下,喜爱的记着点个赞哦。
正确代码↓
<div className='LineEcharts'> { !LineData ? <div className='loader_wrap'> <Spin /> </div> : JSON.stringify(LineData) === '{}' ? <div className="echart_nodata LineEcharts_nodata"> <i className="iconfont iconzanwushuju echart_nodata_icon"></i> <p>{ formatMessage({id: 'common_noData'}) }</p> </div> : <div> <div id='EchartsMain' ref={(EchartsRef)}></div> </div> }</div>