除非启用浮动过滤器,否则 Ag-Grid 过滤器不会显示

Ag-Grid filter does not show up unless floating filter is on

我正在使用 ag-grid 构建一个网格并作出反应 我正在尝试向我的网格添加一个文本过滤器,但该过滤器没有显示在网格上。如果我打开浮动过滤器,它就在那里,但不是经常出现。

这是代码

type Props = {
  gridData: Array<any>;
}

type State = {}

class filteredGrid extends PureComponent<Props, State> {
  private gridOptions = {};
  static propsType = {
    gridData: ImmutablePropTypes.list
  }
  constructor(props) {
    super(props);
    gridOptions = {
      defaultColDef: { filter: true },
      columnDefs: [
        { headerName: "Location", field: 'location', filter: "agTextColumnFilter" },
      ],
      suppressMenuHide: true,
      suppressMovableColumns: true,
      enableSorting: true,
      rowSelection: 'single',
      rowDeselection: true,
      onGridReady: debounce(function (params) {
        params.api.sizeColumnsToFit();
        window.addEventListener('resize', function () {
          setTimeout(function () {
            params.api.sizeColumnsToFit();
          });
        });
      }),
      pagination: true,
      paginationPageSize: 10,
      rowClass: 'grid-row',
      gridAutoHeight: true,
      headerHeight: 50,
      rowHeight: 50,
      overlayNoRowsTemplate: '<span>No Data</span>',
    };
  }

  render(): ReactNode {
    const { gridData } = this.props;
    return (
      <div>
        <div className="ag-theme-material">
          <AgGridReact
            gridOptions={this.gridOptions}
            rowData={gridData}
          />
        </div>
      </div>
    );
  }
}

网格没有过滤器,看起来像这样:

如何让打开过滤器的过滤器图标显示出来?

我解决了这个问题,为了让过滤器出现,我必须设置网格选项 enableFilter: true。我不知道这一点,因为文档中从未提及它。

在 gridOptions 中设置 enableFilter: true

我今天遇到了这个问题,我的问题是我的默认列定义中有 suppressMenu: true