reactjs 如何显示嵌套数组的表头

ds97pgxw  于 2023-03-17  发布在  React
关注(0)|答案(2)|浏览(119)

我在html表格中有一个嵌套数组。我可以显示表格。但是,我在插入标题到嵌套数组列时遇到了问题。
下面是代码:table.js

const Table= college?.map((item =>   
      <tr >
       <td> {item.department.map((item,i) => (
                  <tr>
                    <td>{item.studentName}</td>
                    <td>{item.subject}</td>
                    <td>{item.daysClassattended}</td>
                  </tr>                        
             ))} 
       </td>                     
     </tr>
    ));
         return (
    <div>
      <table>
        <thead>
          <tr>
            <th>Student Name </th>
            <th>Subject </th>
            <th>Days Attended Classes</th>
          </tr>
        </thead>
        <tbody>{Table}</tbody>
      </table>;
    </div>

在嵌套数组表中插入表头的最佳方法是什么?

h9vpoimq

h9vpoimq1#

若要向HTML表格中的嵌套数组列插入标题,可以按如下所示修改代码:

const Table = college?.map((item) => {
  return (
    <>
      <tr>
        <th colSpan="3">{item.departmentName}</th>
      </tr>
      <tr>
        <th>Student Name</th>
        <th>Subject</th>
        <th>Days Attended Classes</th>
      </tr>
      {item.department.map((student, i) => (
        <tr key={i}>
          <td>{student.studentName}</td>
          <td>{student.subject}</td>
          <td>{student.daysClassattended}</td>
        </tr>
      ))}
    </>
  );
});

return (
  <div>
    <table>
      <tbody>{Table}</tbody>
    </table>
  </div>
);
dced5bon

dced5bon2#

如果您只是想列出所有学生而不区分他们的系,那么flatMap是一个选项:

const Table = college?.flatMap((item =>   
    item.department.map((item,i) => (
      <tr>
        <td>{item.studentName}</td>
        <td>{item.subject}</td>
        <td>{item.daysClassattended}</td>
      </tr>                        
    ))
  ));

相关问题