我试图将下拉过滤器添加到ag-grid中的列。我设法使用此代码(在Angular 8应用程序中)显示该列:
columnDefs = [
{ headerName: 'Id' , field: 'id' , type: 'number' },
{ headerName: 'Message' , field: 'message' , type: 'text' },
{ headerName: 'Level' , field: 'level' , type: 'text' , width: 90,
filterParams: {
filterOptions: [
'empty',
{
displayKey: 'errors',
displayName: 'Errors',
test: (cellValue) => cellValue != null && cellValue === 'Error'
},
{
displayKey: 'info',
displayName: 'Information',
test: (cellValue) => cellValue != null && cellValue === 'Information'
},
{
displayKey: 'verbose',
displayName: 'Verbose',
test: (cellValue) => cellValue == null && cellValue === 'Verbose'
},
],
applyButton: true,
clearButton: true,
debounceMs: 200,
suppressAndOrCondition: true
}
},
{ headerName: 'Source' , field: 'source' , type: 'text' , width: 80 } ];
当我单击列上的汉堡包菜单时,这为我提供了一个下拉菜单。但是,当我从上方选择一个选项时,我只是在其下方得到一个文本字段,在该字段中必须输入要过滤的文本。我想做的只是选择一个选项,例如“错误”,它会通过该测试功能自动过滤网格。那可能吗?看起来很简单,但是我花了一整天的时间阅读文档并尝试了不同的事情,但似乎无济于事……
谢谢!
答案 0 :(得分:0)
根据https://www.ag-grid.com/javascript-grid-filter-provided-simple/#customFilterOptions上的文档,“测试”函数采用两个参数-过滤器值和单元格值。
看起来您还没有指定过滤器类型。