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

如何访问嵌套对象并在DataGrid中渲染user_id的username信息

解决DataGrid渲染嵌套对象字段的问题

针对你遇到的嵌套对象无法渲染的问题,直接修改列配置,通过valueGetter函数提取嵌套的username即可:

{
  field: "user_id",
  headerName: "User Name",
  width: 250,
  // 添加valueGetter获取嵌套对象中的username
  valueGetter: (params) => params.row.user_id?.username
}

原理说明

DataGrid默认会直接读取row[field]的值,当user_id是对象时,直接显示会输出[object Object]或空白。valueGetter允许你自定义从行数据中提取值的逻辑,这里用可选链操作符?.还能避免user_id为null/undefined时抛出错误。

替代方案:预处理数据

如果你不想修改列配置,也可以提前扁平化数据源:

const flattenedList = list.map(row => ({
  ...row,
  // 将嵌套的username提取到顶层字段
  user_username: row.user_id?.username
}))

然后列配置改为:

{
  field: "user_username",
  headerName: "User Name",
  width: 250
}

两种方法都能解决问题,推荐第一种,更贴合DataGrid原生用法,无需额外修改数据源结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 04:15:35