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

如何从Material-UI的<DataGrid/>中通过ID提取指定行数据?

可以通过ID提取对应整行数据,两种常用方式如下:

1. 直接从原始数据源筛选

由于<DataGrid>的rows属性绑定的是data数组,你可以直接用数组的find方法根据ID匹配目标行:

// 提取id=1的行数据
const targetRow = data.find(row => row.id === 1);

如果要处理无匹配ID的情况,可补充判断逻辑:

const targetRow = data.find(row => row.id === 1);
if (targetRow) {
  // 获取数据后的后续操作
  console.log(targetRow);
} else {
  console.log('未找到对应ID的行');
}

2. 在DataGrid交互事件中获取

如果是表格交互场景(比如点击行、操作列按钮),可通过事件参数直接拿到当前行数据。以你的actionColumn为例,配置时可以这样获取:

const actionColumn = [
  {
    field: 'actions',
    headerName: '操作',
    renderCell: (params) => {
      // params.row 即为当前行的完整数据
      const handleClick = () => {
        console.log('当前行数据:', params.row);
        // 需要匹配ID时,直接用params.row.id判断
        if (params.row.id === 1) {
          // 执行对应逻辑
        }
      };
      return <button onClick={handleClick}>查看详情</button>;
    },
  },
];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:45:40