Ag grid ag grid:每次单击筛选器时调用函数

Ag grid ag grid:每次单击筛选器时调用函数,ag-grid,ag-grid-angular,Ag Grid,Ag Grid Angular,如何在ag网格中每次单击过滤器图标时调用函数。下面是我的代码。我的目标是在每次单击过滤器图标时重置Name列的过滤器值。我必须使用agSetColumnFilter。我尝试了filterParams,但它不是每次都被调用,而是只有一个。有人能在这里指导我吗 constructor(private http: HttpClient) { this.columnDefs = [ { headerName: "Name", field: "nam

如何在ag网格中每次单击过滤器图标时调用函数。下面是我的代码。我的目标是在每次单击过滤器图标时重置
Name
列的过滤器值。我必须使用
agSetColumnFilter
。我尝试了
filterParams
,但它不是每次都被调用,而是只有一个。有人能在这里指导我吗

  constructor(private http: HttpClient) {
    this.columnDefs = [
      {
        headerName: "Name",
        field: "name",
        width: 150,
        filter: "agSetColumnFilter",
        menuTabs: ['filterMenuTab']
      }
    ];
  }

  onGridReady(params) {
    this.rowData = [
      {
        name: "A",
        flag: true
      },
      {
        name: "B",
        flag: false
      }
    ];
  }

您可以使用
postProcessPopup
回调(请参阅文档)。每次单击过滤器图标时都会调用此回调

将回调添加到html中:

[postProcessPopup]="postProcessPopup"
然后创建
后处理弹出窗口
函数:

this.postProcessPopup = function(params) {
      if (params.column.colDef.field === 'name')
      {
        var athleteFilter = this.gridApi.getFilterInstance('name');
        athleteFilter.selectEverything();
        this.gridApi.onFilterChanged();
      }
    }.bind(this);
如果单击过滤器图标用于字段
name
,则选择该过滤器的所有内容,然后调用
gridApi
上的
onFilterChanged
函数以确保其更新

您可以看到一个正在工作的Plunker(尝试过滤“删除”字段)


可以找到有关筛选器api的更多文档。

您可以使用
后处理弹出窗口
回调(请参阅文档)。每次单击过滤器图标时都会调用此回调

将回调添加到html中:

[postProcessPopup]="postProcessPopup"
然后创建
后处理弹出窗口
函数:

this.postProcessPopup = function(params) {
      if (params.column.colDef.field === 'name')
      {
        var athleteFilter = this.gridApi.getFilterInstance('name');
        athleteFilter.selectEverything();
        this.gridApi.onFilterChanged();
      }
    }.bind(this);
如果单击过滤器图标用于字段
name
,则选择该过滤器的所有内容,然后调用
gridApi
上的
onFilterChanged
函数以确保其更新

您可以看到一个正在工作的Plunker(尝试过滤“删除”字段)

可以找到更多关于过滤器api的文档