【发布时间】:2016-04-18 21:42:50
【问题描述】:
我有一个由数组映射的行填充的表。当我单击该行中的按钮时,我希望获得数据的扩展视图(或 div)。我遇到了一个问题,我不能在同一个 .map 迭代中拥有两个表行。
我认为有多种方法可以做到这一点。
我可以使用与我要展开的事件的 id 相关联的 if 语句将表格行换成跨越表格宽度的行,其中包含一个 div。
我可以在表格行下方查询一个 div(不知道如何实现)。
<tbody className={loading}>
{this.state.events.map((event, id) =>
<tr key={event.id}>
<td>{event.data || ' '}</td>
<td>{event.otherData}</td>
<td><TimeStamp time={event.timestamp} /></td>
<td><button onClick={() => this.onShowInfo(event)}>
<i className="fa fa-search-plus" /></button></td>
</tr>
)}
</tbody>
JSX 使得在 map 函数中呈现两行是不可能的
【问题讨论】:
-
为什么“JSX 不可能”?
-
你不能有一个
没有被一个元素包裹,你不能把一个 tr 包裹在一个 tbody 标签里面的 div 里面跨度> -
不是为了返回值,但是你可以有两个单独的逻辑块,并且在这个逻辑块的正下方有一个,它应该可以正常工作
标签: javascript jquery reactjs