如何仅在 ag-grid 中的 headerName === "Action" 中将 defaultColDef 中的过滤器设置为 false?

How to set filter to false in defaultColDef only where headerName === "Action" in ag-grid?

我可以通过 gridOptions.defaultColDef.filter 设置过滤器,但我无法找到如何根据 headerName 值设置值。

我试过遍历 columnDefs 但该类型不存在过滤器(即使当我在我的应用程序中使用该组件时它可在 columndDefs 中设置)。

gridOptions.columnDefs?.forEach(colDef => { 
  if (colDef.headerName === "Action") colDef.filter = false
}

知道如何将设置过滤器设置为 false 作为 Action 列的默认值,并为所有其他列设置 true 吗?

像您一样在组件的构造函数中将 filter 设置为 false。可以通过将 colDef 值的类型设置为 any 来解决类型错误,但正确的解决方案是将其设置为 ColDef,可以像这样导入:

import { ColDef } from 'ag-grid-community/dist/lib/main';

this.columnDefs?.forEach((colDef: ColDef) => { 
  if (colDef.headerName === "Action") {
    colDef.filter = false
  }
});  

Demo.