首页 > 解决方案 > 如何在 ag-grid 中获得正确的过滤器模型?

问题描述

我想显示用户选择的当前过滤器。所以我使用 onFilterChanged 回调函数获取过滤器模型:

onFilterChanged(params) {
    const filterModel = this.gridApi.getFilterModel();
    console.log(filterModel);
  }

一切正常,除了一个场景,我们过滤第一列并尝试过滤第二列。例如,如果您在 plunker 示例中看到:

https://plnkr.co/edit/X6LlP2XIOaEeeW7I?preview

我将第一列过滤为 Michael Phillips 和 Abhinav Bindra,然后将 filterModel 设为

athlete:
    filterType: "set"
    values: Array(2)
        0: "Abhinav Bindra"
        1: "Michael Phelps"
        length: 2

哪个是对的。然后我尝试过滤第二列,国家,然后我得到 filterModel 为

athlete:
    filterType: "set"
    values: (2) ["Abhinav Bindra", "Michael Phelps"]
country: {values: Array(109), filterType: "set"}

这是不正确的。正如我期望获得的国家价值为印度或美国,而不是 109 个国家的整个阵列。

有趣的是,过滤器 UI 仅将这两个国家印度和美国显示为复选框。

如何获取正确的过滤器模型,以便在自定义组件中显示?

编辑:如果我使用浮动过滤器组件,则值会在浮动过滤器中正确显示。我想获得那个浮动过滤器组件的模型。 浮动过滤器

任何指针将不胜感激。
提前致谢!!

标签: angularag-gridag-grid-angular

解决方案


用于gridOptions.api.getFilterInstance('gold').getValueModel().availableValues获取所有可用值。

gridOptions.api.getFilterInstance('your column name here').查看下面的屏幕截图。

这是解释 getvalumodel 的屏幕截图


推荐阅读