我想计算所选行的数量,但似乎
onRowClicked
或 onRowSelected
发生在我实际单击的行被选择之前。
选择一行时如何统计行数?我认为这就是要走的路。
this.gridOptions.onRowSelected = function (params) {
console.log(this.gridOptions.api.getSelectedRows().length)
// Prints one less then the number of rows that is selected.
}
在 React(使用 ES6)项目中我使用这个:
onSelectionChanged = debounce((e) => {
this.setState({
selectedRows: this.api.getSelectedRows(),
});
}, 1)
(
this.api
是https://www.ag-grid.com/javascript-grid-api/?framework=all#gsc.tab=0)
我使用 Lodash 的
debounce
来解决同时选择多行时的性能问题。 (尽管经过一些快速测试,看起来这个问题已经在 ag-grid 中的某个时刻得到了修复。)
最简单的版本可能看起来像(未经测试):
this.gridOptions.onSelectionChanged = function () {
console.log(this.gridOptions.api.getSelectedRows().length);
}
this.gridOptions.api.getSelectedRows().length;