如果您需要在 Grid 渲染时重置 rowData,建议使用如下的方法:
在 GridOptions 中,将行数据 rowData 设置为一个初始变量。
在 GridReady 事件中,将 GridOptions.rowData 设置为您想要的数据。
例如:
import { AgGridReact } from 'ag-grid-react';
class MyGridApplication extends Component {
constructor(props) {
super(props);
this.state = {
columnDefs: [
{ headerName: "Make", field: "make" },
{ headerName: "Model", field: "model" },
{ headerName: "Price", field: "price" }
],
rowData: [],
initialRowData: []
};
}
onGridReady = (params) => {
this.gridApi = params.api;
// 发起请求获取初始数据并存储在 initialRowData 中
getData().then((data) => {
this.setState({ rowData: data, initialRowData: data });
});
}
resetRowData = () => {
// 重置 rowData 为 initialRowData
this.setState({ rowData: this.state.initialRowData });
}
render() {
return (
);
}
}
在这个示例中,我们将 initialRowData 变量作为初始行数据存储。在 GridReady 事件中,将它传递给 GridOptions.rowData 并保存在 rowData 中。之后,我们可以在 resetRowData 函数中轻松地将 rowData 重置为 initialRowData。
请注意,AgGridReact 组件需要通过回调函数获取 api,而不是通过引用(this.gridApi)获取。