如何在ag-grid-enterprise中用MultiFilter的setModel()实现API调用过滤?
正确实现AG Grid MultiFilter的setModel方法
核心解决方案
针对你需要的多选值过滤,正确的setModel写法如下:
stateFilterComponent.setModel({ filterModels: [ null, // 对应MultiFilter中第一个未使用的子过滤器 { values: ['Open','Closed','Pending'] } // 第二个子过滤器(SetFilter)的过滤模型 ] });
错误原因说明
你之前的写法失败是因为:
- MultiFilter的子过滤器(这里是SetFilter)的模型字段是
values,而非你使用的filterValues,和你提到的SimpleFilter用法保持一致。 filterModels数组的顺序必须和你在MultiFilter中配置子过滤器的顺序完全对应,每个元素对应一个子过滤器的模型,未启用的子过滤器设为null。
备选实现方式
你也可以直接获取MultiFilter中的指定子过滤器实例单独设置,再触发过滤更新:
// 获取第二个子过滤器实例(索引从0开始) const setFilterInstance = stateFilterComponent.getFilterInstance(1); // 给SetFilter设置过滤值 setFilterInstance.setModel({ values: ['Open','Closed','Pending'] }); // 手动触发过滤变更 stateFilterComponent.onFilterChanged();
内容的提问来源于stack exchange,提问作者Vijay P
相关产品推荐
相关产品推荐

