【发布时间】:2021-06-22 21:26:53
【问题描述】:
我在 React 中创建了一个表。我使用 javascript 来映射包含渲染动态表所需的所有信息的对象。我的几列包含数字,我想将这些列相加到附加列中的给定点。下面是我的表格示例。
这个想法是余额列将总计整个借方列直到该点。所以第一行的余额单元格应该是 50(就像它一样)。但是,余额列中的第二个单元格需要说 100(截至该点的借方列中所有单元格的总和)。这是我用来映射对象(存储在状态中)以填充表的反应代码。请注意,余额列未存储在对象中...我试图以某种方式在 map 函数中创建此列值。
<table id="transactionDetailDisplay">
<tr>
<th>#</th>
<th>Account</th>
<th>Description</th>
<th>Debit</th>
<th>Credit</th>
<th>Balance</th>
</tr>
{this.state.transactionObject.map((item =>
<tr>
<td>{}</td>
<td>{item.AccountID}</td>
<td>{item.Description}</td>
<td>{item.Debit}</td>
<td>{item.Credit}</td>
<td>{item.Debit}</td>
</tr>))}
</table>
我想做的是在我的 map 函数中添加一个变量作为累加器。例如,我不想将最后一个表数据项声明为 item.Debit,而是将 item.Debit 存储在一个变量中,然后将该变量值放入表数据行中。在映射函数的每个循环中,我都会将 item.Debit 添加到变量中,以累积正确的总和以显示在 Balance 中。但是,我无法找出正确的 javascript 来在映射函数和/或 table 标记中创建变量累加器。我认为,因为它在 table 标记内,所以我不能像在其他地方那样定义一个变量。有没有办法可以做到这一点,也许有特殊的语法?有谁知道任何技巧来帮助我?非常感谢您的任何想法!
【问题讨论】:
标签: javascript html reactjs html-table mapping