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

如何用map操作将接口返回的30条数据转为无表头5列表格

实现无表头5列表格的简便方案

不需要拆分数组,直接通过CSS布局结合map遍历就能实现,以下是两种常用方案:

方案1:CSS Grid 实现(推荐)

利用Grid的自动列布局,直接指定每行5列,遍历所有数据即可自动排列。

React 代码示例

const DateGrid = ({ data }) => {
  return (
    <div className="date-grid">
      {data.map((item, index) => (
        <div key={index} className="date-item">
          <div>{item.date}</div>
          <div>{item.day}</div>
        </div>
      ))}
    </div>
  );
};

配套CSS

.date-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* 固定每行5列 */
  gap: 12px; /* 列/行间距,可按需调整 */
  padding: 10px;
}

.date-item {
  text-align: center;
  padding: 8px;
  border: 1px solid #e5e7eb; /* 可选:添加边框模拟表格视觉 */
}

方案2:Flexbox 实现

借助Flex的换行特性,给每个子项设置20%宽度(100%/5),自动换行成5列。

React 代码示例

const DateFlex = ({ data }) => {
  return (
    <div className="date-flex">
      {data.map((item, index) => (
        <div key={index} className="date-item">
          <div>{item.date}</div>
          <div>{item.day}</div>
        </div>
      ))}
    </div>
  );
};

配套CSS

.date-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 10px;
}

.date-item {
  width: calc(20% - 9.6px); /* 减去gap占比,确保每行刚好5个 */
  text-align: center;
  padding: 8px;
  border: 1px solid #e5e7eb;
}

Bootstrap 适配方案

Bootstrap默认是12列布局,col-md-2无法适配5列,可通过自定义宽度解决:

const DateBootstrap = ({ data }) => {
  return (
    <div className="row g-3">
      {data.map((item, index) => (
        <div key={index} className="col" style={{ width: '20%' }}>
          <div>{item.date}</div>
          <div>{item.day}</div>
        </div>
      ))}
    </div>
  );
};

手动设置子项宽度为20%,配合Bootstrap的row和g-3(间距类)即可实现5列布局。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 13:43:05