You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取React MUI DataGrid中与显示完全一致的已过滤排序行?

解决MUI DataGrid获取过滤+排序后可见行的问题

要获取和DataGrid可见内容完全一致(经过过滤+排序)的行数据,不能仅使用getSortedRows()(该方法仅处理排序,不包含过滤逻辑),可以通过以下两种API实现:

核心API选择

  • getVisibleRowModels():返回所有经过过滤、排序后的行数据(包含所有分页的符合条件数据,不限于当前页)
  • getRenderedRows():返回当前页面中实际渲染的行数据(仅当前分页的可见行,和页面显示完全匹配)

修改后的代码示例

const apiRef = useGridApiRef();

function arrowsEventListener(event) {
  // 避免apiRef未初始化的情况
  if (!apiRef.current) return;
  
  if (event.key === "ArrowUp" || event.key === "ArrowDown") {
    // 获取当前页面可见的、经过过滤+排序的行数据
    const visibleRows = apiRef.current.getRenderedRows();
    
    // 若需要所有符合过滤排序条件的行(跨分页),则用:
    // const filteredSortedAllRows = apiRef.current.getVisibleRowModels();
    
    // 后续可基于visibleRows处理选中行上下移动逻辑
  }
}

内容的提问来源于stack exchange,提问作者Bartosz Bryczkowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:02:08