ag-grid:在列值上创建过滤器下拉列表?

时间:2019-09-30 19:48:36

标签: angular ag-grid ag-grid-angular

我试图将下拉过滤器添加到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 }  ];

当我单击列上的汉堡包菜单时,这为我提供了一个下拉菜单。但是,当我从上方选择一个选项时,我只是在其下方得到一个文本字段,在该字段中必须输入要过滤的文本。我想做的只是选择一个选项,例如“错误”,它会通过该测试功能自动过滤网格。那可能吗?看起来很简单,但是我花了一整天的时间阅读文档并尝试了不同的事情,但似乎无济于事……

谢谢!

1 个答案:

答案 0 :(得分:0)

根据https://www.ag-grid.com/javascript-grid-filter-provided-simple/#customFilterOptions上的文档,“测试”函数采用两个参数-过滤器值和单元格值。

看起来您还没有指定过滤器类型。