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

mui-datatables如何将指定字段数据渲染到表格中?

解决方案

1. 配置列定义

mui-datatables通过columns参数控制展示的字段,你需要先定义对应4个字段的列配置,嵌套字段可以通过customBodyRender自定义取值逻辑:

const columns = [
  {
    name: "address",
    label: "地址"
  },
  {
    name: "id",
    label: "ID",
    options: {
      customBodyRender: (value, tableMeta) => tableMeta.rowData.items.id
    }
  },
  {
    name: "name",
    label: "姓名"
  },
  {
    name: "date",
    label: "日期",
    options: {
      customBodyRender: (value, tableMeta) => {
        // 将秒级时间戳转换为可读日期格式,可按需调整输出格式
        return new Date(tableMeta.rowData.items.date.seconds * 1000).toLocaleString()
      }
    }
  }
]

2. 修正过滤逻辑

你原代码中的时间对比逻辑有误,存储的date是对象格式,需要先转成时间戳再比较,同时可以合并两个过滤条件提升效率:

const filtered = users.filter(d => {
  // 过滤item2为false的条目
  if(d?.items?.item2 !== false) return false
  // 过滤时间小于当前时间的条目
  const itemTime = d?.items?.date?.seconds ? d.items.date.seconds * 1000 : 0
  return itemTime <= Date.now()
})

3. 传入组件调用

保持原组件调用逻辑不变,传入定义好的columns即可,组件会自动仅展示配置的4个字段:

return (
  <div>
    <MUIDataTable title={"List"} columns={columns} data={filtered} />
  </div>
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:06:05