如何在数据更新时重置图表缩放。我正在使用amcharts并做出反应: https://github.com/amcharts/amcharts3-react
我在图表中使用:
<div className='row' id={this.props.tileid} style={{height: '80%', width: '100%'}} >
<AmCharts ref={`chart_${this.props.tileid}`} {...this.chart} dataProvider={this.props.data()} />
</div>
我的数据支柱被切片以包含/排除数据。在数据包括时,数据在图表中呈现,但图表仍然在前一级别缩放,用户必须在所选数据变为可见之前缩小。我只想让缩放级别最大限度地缩小数据更新。
我有:
this.chart.zoomOutOnDataUpdate = true;
但这没有效果..
感谢。
答案 0 :(得分:0)
为实现这一目标,我在反应组件中添加了以下内容:
componentWillReceiveProps(nextprops){
if(this.props.data !== nextprops.data){
this.setState({zoomoutflag: true})
}else{
this.setState({zoomoutflag: false})
}
if(nextprops)
this.chart = this.initChart(nextprops);
}
componentDidUpdate(){
if(this.refs.chartref && this.state.zoomoutflag){
if(this.refs.chartref.state.chart){
this.refs.chartref.state.chart.zoomOut();
}
}
}
这对我来说效果很好,现在每次通过过滤器更改来更新数据时,都会设置zoomoutflag并将图形设置为缩小状态。