Javascript 如何在ag网格中获取筛选行?

Javascript 如何在ag网格中获取筛选行?,javascript,ag-grid,Javascript,Ag Grid,我有一个过滤选项 如何在ag网格中获取已筛选的行(而不是所选行?您可以使用forEachNodeAfterFilter(回调)api方法来实现此目的 查看所有可用的API调用,包括各种forEachXXX方法。这花了我很多时间,所以我在这里发布。使用onFilterChanged()。传递给onFilterChanged()的事件可以这样使用(例如在Typescript React中) onFilterChanged=ev=>{ if(ev?.api?.rowModel?.rowsToDispl

我有一个过滤选项


如何在ag网格中获取已筛选的行(而不是所选行?

您可以使用forEachNodeAfterFilter(回调)api方法来实现此目的


查看所有可用的API调用,包括各种forEachXXX方法。

这花了我很多时间,所以我在这里发布。使用
onFilterChanged()。传递给
onFilterChanged()
的事件可以这样使用(例如在Typescript React中)

onFilterChanged=ev=>{
if(ev?.api?.rowModel?.rowsToDisplay){
this.setState({selectedRows:ev?.api?.rowModel?.rowsToDisplay.filter(node=>node.isSelected())});
}
};

根据@sean landsman的答案构建,下面是一个如何使用
forEachNodeAfterFilter(回调)
方法的示例:

    let rowData = [];
    gridApi.forEachNodeAfterFilter(node => {
      rowData.push(node.data);
    });

没有什么办法吗?我必须使用foreach来获取这些节点?嗨,是的,恐怕你必须迭代这些节点。如果您想对过滤后的节点作为一个整体进行处理,那么您需要在迭代时建立一个集合。自4月份以来,所有内容都发生了变化?我们还需要foreach来获取更新的数据集吗?