无法在 React AG 网格中移除 select 行
Can't select row for removal in React AG Grid
在 React 中并基于 [此处][1] 的文档,我正在尝试 select AG Grid 行以使用以下代码删除:
class MyComponent extends Component {
constructor(props) {
this.state={rowSelection: 'single'}
}
onGridReady(params) {
this.gridApi = params.api
this.columnApi = params.columnApi
}
onRemoveSelected() {
const selectedData = this.gridApi.getSelectedRows();
const res = this.gridApi.updateRowData({ remove: selectedData })
}
}
render() {
return(
<div>
<button onClick={this.onRemoveSelected.bind(this)}>Remove Selected</button>
<AgGridReact
id="myGrid"
{...gridOptions}
onGridReady={this.onGridReady}
rowSelection={this.state.rowSelection}
/>
</div>
)
}
但该行未 selecting。此外,使用不同的代码变体,有时我会收到此控制台警告:
cannot select node until id for node is known
提前致谢
[1]: https://www.ag-grid.com/javascript-grid-data-update/
尝试遍历节点并为每个节点添加一个id。我不认为这是最佳解决方案,但它确实有效。
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
let idSequence = 0;
this.gridApi.forEachNode( function(rowNode, index) {
rowNode.id = idSequence++;
});
}
Ag-Grid Grid Properties Reference
Ag-Grid 有一个名为 gridOptions 的道具,它接受一个对象。你可以从上面的参考中找到你可以在这个对象中放入什么样的键,但是你要找的键是 getRowNodeId
.
示例(假设您的行数据包含一个名为 id
的键):
<AgGridReact
gridOptions={{
getRowNodeId : item => item.id
}}
{...gridOptions}
/>
...
在 React 中并基于 [此处][1] 的文档,我正在尝试 select AG Grid 行以使用以下代码删除:
class MyComponent extends Component {
constructor(props) {
this.state={rowSelection: 'single'}
}
onGridReady(params) {
this.gridApi = params.api
this.columnApi = params.columnApi
}
onRemoveSelected() {
const selectedData = this.gridApi.getSelectedRows();
const res = this.gridApi.updateRowData({ remove: selectedData })
}
}
render() {
return(
<div>
<button onClick={this.onRemoveSelected.bind(this)}>Remove Selected</button>
<AgGridReact
id="myGrid"
{...gridOptions}
onGridReady={this.onGridReady}
rowSelection={this.state.rowSelection}
/>
</div>
)
}
但该行未 selecting。此外,使用不同的代码变体,有时我会收到此控制台警告:
cannot select node until id for node is known
提前致谢 [1]: https://www.ag-grid.com/javascript-grid-data-update/
尝试遍历节点并为每个节点添加一个id。我不认为这是最佳解决方案,但它确实有效。
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
let idSequence = 0;
this.gridApi.forEachNode( function(rowNode, index) {
rowNode.id = idSequence++;
});
}
Ag-Grid Grid Properties Reference
Ag-Grid 有一个名为 gridOptions 的道具,它接受一个对象。你可以从上面的参考中找到你可以在这个对象中放入什么样的键,但是你要找的键是 getRowNodeId
.
示例(假设您的行数据包含一个名为 id
的键):
<AgGridReact
gridOptions={{
getRowNodeId : item => item.id
}}
{...gridOptions}
/>
...