Javascript 如何使用带有React的外部过滤器?(ag电网)

Javascript 如何使用带有React的外部过滤器?(ag电网),javascript,reactjs,ag-grid,Javascript,Reactjs,Ag Grid,。无论如何,我都遵循了这个示例,并尝试以声明方式使用gridOptions,正如我所做的那样: <AgGridReact rowData={this.state.rowData} columnDefs={this.state.columnDefs} defaultColDef={this.state.defaultColDef} groupDefaultExpanded={this.state.groupDefaultExpanded} master

。无论如何,我都遵循了这个示例,并尝试以声明方式使用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>

{ }}
onChange={(e)=>{
this.gridApi.onFilterChanged()
}}
>
{"15"}
{"25"}
{"50"}
{"100"}
{"200"}

但这没有用,警报永远不会发生。我怀疑这样的功能对React不起作用。

从您提供的页面:

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

所以在我看来,你应该试试这样的东西:

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

从您提供的页面:

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

所以在我看来,你应该试试这样的东西:

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

我正在返回
true
,文档确实说它将运行,但它没有执行
doesternalfilterpass
。您使用的是什么
ag grid
包导入?我正在返回
true
,文档确实说它将运行,但是它不执行DoeSternalFilterPass。您使用的是什么
ag grid
包导入?