AG-Grid(企业)列菜单监听器

有没有办法将侦听器设置为列菜单,以便在打开和关闭菜单时触发事件?

功能说明: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

}


陪伴而非守候
浏览 657回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript