我正在使用带有react的ag-grid;它有一个活动
sortChanged={sortChanged}
根据本文档http://54.222.217.254/javascript-grid-events/#sort-filter
但就我而言,它没有被调用,我不知道为什么。
我从这个链接可以看到它正在以角度工作。
我尝试遵循不同的语法并浏览其完整的文档,但没有成功。
这是我伪造的朋克,我只想发出警报 hi 只是为了知道用户单击了排序: https://plnkr.co/edit/48MYV18mpAAuK27L?预览
我正在尝试这样:
<AgGridReact
defaultColDef={{ sortable: true }}
onGridReady={onGridReady}
rowData={rowData}
sortChanged={sortChanged}
>
并像这样使用它:
const sortChanged = (e) => {
alert("hi")
console.log(e)
}
尝试其中一项:
const onSortChanged=(e: AgGridEvent)=> {
e.api.refreshCells();
}
或
const onSortChanged=(e: AgGridEvent)=> {
e.api.redrawRows();
}
如果有人仍然面临一些问题。看起来文档没有更新,网格的正确支撑是
onSortChanged
这样你就可以获得排序状态:
const onSortChanged = (e: SortChangedEvent) => {
const sortState = e.columnApi
.getColumnState()
.filter(function (s) {
return s.sort != null;
})
.map(function (s) {
return { colId: s.colId, sort: s.sort, sortIndex: s.sortIndex };
});
console.log(sortState);
}
和组件:
<AgGridReact
defaultColDef={{ sortable: true }}
onGridReady={onGridReady}
rowData={rowData}
onSortChanged={onSortChanged} //this is the main change
>
来源: SortChangedEvent:https://www.ag-grid.com/react-data-grid/grid-events/#reference-sort
排序状态过滤器和映射(saveSort函数):https://www.ag-grid.com/react-data-grid/row-sorting/#sorting-api