我将rowData和columnDefs作为props传递。网格正确加载。但是,当数据更改时,Grid不会重新渲染。它来到父组件的渲染,并传递给AgGridReact。但是,仍然没有得到重新渲染。
由于它是一个完整的反应应用程序,我在https://github.com/jintoppy/ag-grid-upgrade
中添加了代码主要代码如下。
hc = hclust(dist(mtcars))
plot(hc, hang = -1)
rect.hclust(hc, k = 3, border = "red")
答案 0 :(得分:1)
不确定你是否解决了这个问题。我有一个解决方案。
在我将rosData通过props传递给AgGridReact之前,我甚至遇到过这个问题,然后我尝试使用setRowData(rows)API函数更新行。
一旦您的网格准备就绪,您的gridOptions也将具有api,以便您可以通过调用gridOptions.api来访问Ag-grid API,或者您可以在onGridReady方法中创建this.api,如下所示。
onGridReady( params ) {
const rowData = this.props.rows;
this.api = params.api;
if ( rowData.length > 0 && this.api ) {
this.api.setRowData( rowData );
}
}
你需要在componentWillReceiveProps中调用同样的东西
componentWillReceiveProps( nextProps ) {
if ( !isEqual( this.props.rows, nextProps.rows ) && this.api ) {
this.api.setRowData( nextProps.rows );
}
}
然后你可以从组件
中删除rowData prop<AgGridReact
// properties
columnDefs={this.state.columnDefs}
// events
onGridReady={this.onGridReady}>
</AgGridReact>
希望这会有所帮助......