如何在 ag-grid 中获得正确的过滤器模型?
Posted
技术标签:
【中文标题】如何在 ag-grid 中获得正确的过滤器模型?【英文标题】:How to get the right Filter Model in ag-grid? 【发布时间】:2020-11-14 19:00:45 【问题描述】:我想显示用户当前选择的过滤器。所以我正在使用 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 仅将这两个国家印度和美国显示为复选框。
我如何获得正确的过滤器模型,以便在我的自定义组件中显示?
编辑:如果我使用浮动过滤器组件,则值会正确显示在浮动过滤器中。我想获得那个浮动过滤器组件的模型。
任何指针将不胜感激。 提前致谢!!
【问题讨论】:
【参考方案1】:使用gridOptions.api.getFilterInstance('gold').getValueModel().availableValues
获取所有可用值。
gridOptions.api.getFilterInstance('your column name here').
查看下面的截图。
【讨论】:
以上是关于如何在 ag-grid 中获得正确的过滤器模型?的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以在服务器端模型 ag-grid 中实现快速过滤器?
如何通过 ag-grid 将过滤器保留在 cookie 中?