关于ag-grid中过滤后再勾选checkbox后获取数据不正确的问题。

原本就是一个很简单的功能。

        将表格中勾选的数据进行一些标记操作。

        问题:使用表格自带的过滤操作后,点击表头的全选,然后去操作发现,这个表格所有的数据都被操作了。。。

        

关于ag-grid中过滤后再勾选checkbox后获取数据不正确的问题。_第1张图片

 

         解决办法:目前我只找到这一个方法。代码如下:

  // 获取表格中选中的数据(需要注意过滤后的数据)
  const getFinalGridData = () => {
    // 选中的值
    const selectedData: any = gridApi.current?.getSelectedRows();

    // 过滤后的值
    const selectedRows: any = [];
    gridApi.current?.forEachNodeAfterFilter((row: any) => {
      selectedRows.push(row.data);
    });

    // 取交集即是最终数据
    const data = selectedData.filter((item: any) => {
      return selectedRows.includes(item)
    })

    return data;
  };

        如果这个方法有问题或者大家有其他更简单的方法,麻烦指导一下。谢谢!!

你可能感兴趣的:(javascript,ag-grid)