如何在 React 中使用外部过滤器?(农业网格)



Ag-grid 没有给出一个关于如何在 React 中使用外部过滤器的 react 示例。无论如何,我都遵循了该示例,并尝试像我所做的那样以声明方式使用 gridOptions:

<AgGridReact
    rowData={this.state.rowData}
    columnDefs={this.state.columnDefs}
    defaultColDef={this.state.defaultColDef}
    groupDefaultExpanded={this.state.groupDefaultExpanded}
    masterDetail={true}
    detailRowHeight={this.state.detailRowHeight}
    detailCellRendererParams={this.state.detailCellRendererParams}
    onGridReady={this.onGridReady}
    enableRangeSelection={true}
    pagination={true}
    sideBar={this.state.sideBar}
    isExternalFilterPresent={true}
    doesExternalFilterPass={(node) => {
        alert(node);
    }}
/>

我触发过滤器手动更改,就像在示例中一样:

<Col xs='3'>
    <Field
        component={renderSelectField}
        name="relatorio-filtro"
        hintText='100'
        variant="outlined"
        selectStyle={relatorioFiltro}
        disable={() => { }}
        onChange={(e) => {
            this.gridApi.onFilterChanged()
        }}
    >
        <div value="15" key="15">{"15"}</div>
        <div value="25" key="25">{"25"}</div>
        <div value="50" key="50">{"50"}</div>
        <div value="100" key="100">{"100"}</div>
        <div value="200" key="200">{"200"}</div>
    </Field>
</Col>

但没用,警报永远不会发生。我怀疑这样的功能不适用于 React。

来自

您提供的页面:

isExternalFilterPresent在每次网格检测到过滤器更改时只调用一次。如果外部筛选处于活动状态,则应返回 true,否则返回 false。如果返回 true,则在过滤时将调用 doesExternalFilterPass((,否则不会调用 doesExternalFilterPass((。

所以在我看来,你应该尝试这样的事情:

isExternalFilterPresent={()=> {return true;} }

最新更新