首页 > 解决方案 > 使用 javascript/react 按内部键过滤

问题描述

我正在用 React 创建一个页面。我有一个显示我所有工作的函数,我想写它只给我匹配一个 id 的工作。我在 jsx 中的代码:

                   <tbody>
                       {jobs && jobs.map(job =>
                           <tr key={job.id}>
                               <td>{job.status}</td>
                               <td>{job.fk_product}</td>
                               <td>{job.fk_order}</td>
                               <td>{job.type}</td>
                               <td>{job.fk_employee}</td>
                               <td style={{ whiteSpace: 'nowrap' }}>
                               </td>
                           </tr>
                       )}
                   </tbody>

我怎样才能重写它以便过滤它job.fk_employee?例如 if(fk_employee == 5) ,只有这样才能映射所有值。(地图不是 byjob.id而是 by job.fk_employee

标签: javascripthtmlreactjsjsx

解决方案


您可以在映射之前对其进行过滤:

{jobs && jobs.filter(job => job.fk_employee === 5).map(job =>
  <tr key={job.id}>
    <td>{job.status}</td>
    <td>{job.fk_product}</td>
    <td>{job.fk_order}</td>
    <td>{job.type}</td>
    <td>{job.fk_employee}</td>
    <td style={{ whiteSpace: 'nowrap' }}>
    </td>
  </tr>
)}

或在渲染之外

const jobsFiltered = jobs.filter(job => job.fk_employee === 5)
...
{jobsFiltered.map(job => ...)}

推荐阅读