有没有办法将侦听器设置为列菜单,以便在打开和关闭菜单时触发事件?
功能说明:https : //www.ag-grid.com/javascript-grid-column-menu/
我已经在官方文档中搜索过,但没有找到答案。
背景是:我想在数据库中存储带有显示列、排序、列位置、过滤器等的表状态。当然,我可以使用onFilterChanged
,onDisplayedColumnsChanged
或 之类的侦听器onSortChanged
。问题是,每次发生变化时它都会被触发,因此会产生很多不需要的 api 调用。
这就是为什么我想在列菜单关闭时执行一次调用。
更新
正如 Viqas 在他的回答中所说,没有官方的方法可以做到这一点。我试图避免使用解决方案,
postProcessPopup
并试图为我的问题找到一个更清晰的解决方案 - 存储表状态。对于 ColumnMenu 关闭时回调的解决方法,Viqas Answer更合适。
请注意,这不是回调本身的解决方法 - 它只是一种(可能的)解决方案来存储表状态并执行一个 API 调用
我使用了
ngOnDestory()
Angular的功能。
ngOnDestory(): void {
const tableState = {
columnState: this.gridOptions.columnApi.getColumnState(),
columnGroupState: this.gridOptions.columnApi.getColumnGroupState(),
sortState: this.gridOptions.api.getSortModel(),
filterState: this.gridOptions.api.getFilterModel(),
displayedColumns: this.gridOptions.columnApi.getAllDisplayedColumns()
};
// submit it to API
}
相关分类