You need to enable JavaScript to run this app. 如何在antd Table中展示Firebase Realtime Database查询到的数据
优惠活动
大模型
产品
解决方案
定价
更多

如何在antd Table中展示Firebase Realtime Database查询到的数据

问题根因与修复方案

核心错误点

原始代码构造Table所需的dataSource时,错误读取了Firebase返回条目下不存在的columns属性,导致传入表格的数据源全为undefined,对应字段无法正常渲染。

正确的数据源构造逻辑

移除对不存在的columns属性的读取,直接返回Firebase中的每条记录即可,同时建议补充Antd Table要求的每行唯一key属性,避免控制台渲染警告:

let data = Object.keys(leaderBoardObjects).map(id => ({
  // 展开原记录的所有字段(name、client等和columns的dataIndex一一对应)
  ...leaderBoardObjects[id],
  // 用Firebase的记录id作为行唯一标识
  key: id
}));

可优化项

  1. 原始columns配置中Min Value和Max Value列的width属性缺失单位,建议修改为10%、15%避免样式异常
  2. 若需要保留原实现中的编辑、删除操作,可在columns数组末尾新增操作列配置:
{
  title: '操作',
  width: '10%',
  render: (_, record) => (
    <>
      <a className="btn txt-primary" onClick={() => setCurrentId(record.key)}>
        <i className="fas fa-pencil-alt"></i>
      </a>
      <a className="btn txt-danger" onClick={() => onDelete(record.key)}>
        <i className="fas fa-trash"></i>
      </a>
    </>
  )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 16:36:04