ag-grid - 如何获取用户选择用于过滤的值
ag-grid - How to get values which are selected by user for filtering
在 ag-grid 中,我在每一列上启用了列过滤器。现在,当用户单击它时,它会显示一个复选框列表,其中包含该列下存在的所有不同值。
用户可以 select/deselect 值,网格根据这些值立即刷新过滤数据。我可以通过 filterManager.allFilters
获取过滤器列名称,但我还需要用户选择的值进行过滤。我做不到。
看看我创建的插件:Get applied values for filter
更改 country
列的过滤器选择并检查控制台。
我正在使用 filterChanged
活动。
我们在params.api.filterManager.allFilters.<column>.filterPromise
中得到Promise
,使用它,您可以通过以下方式识别它。
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(', '));
});
}
在 ag-grid 中,我在每一列上启用了列过滤器。现在,当用户单击它时,它会显示一个复选框列表,其中包含该列下存在的所有不同值。
用户可以 select/deselect 值,网格根据这些值立即刷新过滤数据。我可以通过 filterManager.allFilters
获取过滤器列名称,但我还需要用户选择的值进行过滤。我做不到。
看看我创建的插件:Get applied values for filter
更改 country
列的过滤器选择并检查控制台。
我正在使用 filterChanged
活动。
我们在params.api.filterManager.allFilters.<column>.filterPromise
中得到Promise
,使用它,您可以通过以下方式识别它。
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(', '));
});
}