在ag-grid中,我在每列上启用了列过滤器。现在,当用户单击它时,它会显示一个复选框列表,在该列下显示所有不同的值。
用户可以选择/取消选择值,网格将立即根据这些值刷新过滤后的数据。我可以通过filterManager.allFilters
获取过滤器列名称,但我还需要用户选择用于过滤的值。我无法实现这一目标。
答案 0 :(得分:1)
看看我创建的小品: Get applied values for filter
更改country
列的过滤器选择并检查控制台。
我正在使用filterChanged
事件。
我们在Promise
中得到了params.api.filterManager.allFilters.<column>.filterPromise
,您可以用下面的方式识别它。
onFilterChanged(params) {
if (!params.api.filterManager.allFilters.country) return;
params.api.filterManager.allFilters.country.filterPromise.then((result) => {
console.log('##### Selected Values #####')
const values = result.virtualList.model.model.selectedValuesMap;
const selectedValues = [];
for(var key in values) {
selectedValues.push(key);
}
console.log(selectedValues.join(', '));
});
}