ag-grid - ag-grid setModel 等效于 selectValue
问题描述
使用 ag-grid 23.2.1,看起来我们当前的过滤方法即将淘汰并列为已弃用。阅读 setModel 文档,我看不出有什么方法可以替换我们的一些 selectValue、selectNothing 等用法。
示例 1:我们清除选择,然后在某些条件下选择几个值,否则我们选择全部
let filterInstance = this.gridOptions.api.getFilterInstance('make');
this.cacheFilterModel = this.gridOptions.api.getFilterModel();
if (condition) {
filterInstance.selectNothing();
filterInstance.selectValue('thing1');
filterInstance.selectValue('thing2');
}
else {
filterInstance.selectEverything();
}
filterInstance.applyModel();
this.gridOptions.api.onFilterChanged();
示例 2:我们在列中有一些过滤器值,可以通过复选框进行切换,它调用如下所示的方法。如果选中其中一个值,则将其添加到现有过滤器中,如果未选中,则删除该值。可能已经过滤了一些值,我真的看不到使用 setModel 在上下文中选择/取消选择值的方法。
filterExample (make, add) {
let filterInstance = this.gridOptions.api.getFilterInstance('make');
if (add) {
filterInstance.selectValue(make);
}
else {
filterInstance.unselectValue(make);
}
filterInstance.applyModel();
this.gridOptions.api.onFilterChanged();
}
这些有 setModel 等价物吗?
解决方案
我有一个与 setColumnFilter 类似的问题,我必须传递一些值。您可以使用 filterInstance.setModel 通过传递数组来设置这些值,如下所示:
filterInstance.setModel({ values: ['value1', 'value2'] })
filterInstance.applyModel();
gridOptions.api.onFilterChanged()
这是文档中如何执行此操作的链接。我发现这很难在谷歌上找到,所以在这里提供。
推荐阅读
- c++ - 使用 VisualStudio 进行跨平台 C++ 开发
- filepond - 使 FilePond Image Transform 插件忽略(动画)GIF
- hibernate - 参数前缀 ':' JPA 后不允许有空格
- ldap - sssd 错误:无法启动 TLS 加密。(未知错误代码)
- beautifulsoup - 使用 BeautfulSoup 获取 href
- flutter - 如何知道 FCM 的 `onLaunch` 回调是否会被调用
- ignite - Apache ignite:未找到列 ID。即使它在那里
- c - 读尾数
- powershell - Powershell仅复制具有文件夹结构的选定文件
- javascript - 如何将某些内容(即变量)从 JavaScript 文件传输到 HTML 文件?