javascript - react js如何制作动态表格
问题描述
我目前想根据 API Attributes 显示表头,它将显示重量、长度、宽度和钩子,我已经尝试过,但我停留在如何只显示 Attribute 对象的部分,如下图所示。请帮忙教我这个。这是我得到的结果,但我只是想将 Attributes 对象显示为 header 。
const renderTableHeader = () => {
const header = Object.keys(data.data.VariationList[0]);
return header.map((key, index) => <th key={index}>{key.toUpperCase()}</th>)
}
return (
<Table>
<thead>
<tr>{renderTableHeader()}</tr>
</thead>
<tbody>
{data.data.VariationList.map((variation) => (
<tr key={variation.VariationSKU}>
<td className="text-center">{variation.VariationSKU}</td>
<td>{variation.Attribute.Weight}</td>
{variation.Attribute.Diameter ? (
<td>{variation.Attribute.Diameter}</td>
) : null}
{variation.Attribute.Length ? (
<td>{variation.Attribute.Length}</td>
) : null}
{variation.Attribute.Size ? (
<td>{variation.Attribute.Size}</td>
) : null}
{variation.Attribute.Width ? (
<td>{variation.Attribute.Width}</td>
) : null}
{variation.Attribute.Hook ? (
<td>{variation.Attribute.Hook}</td>
) : null}
<td className="text-right">{variation.Price}</td>
<td className="td-actions text-right">
<Button
className="btn "
color="danger"
data-toggle="tooltip"
id="tooltip542628903"
size="md"
type="button"
onClick={() =>
addToCart(data.data.ID, variation.VariationSKU)
}
>
ADD TO CART
</Button>
</td>
</tr>
))}
</tbody>
</Table>
)
解决方案
只需更新代码的第 2 行以使用属性的值:
const header = Object.keys(data.data.VariationList[0].Attribute);
推荐阅读
- javascript - 在 marklogic 中找不到来自不同数据库的模块
- java - 如何引用部署在 jboss 环境中的 src/main/resources 文件夹中的文件?
- d3.js - 如何在转换中伪造计算经过的时间和消息?
- python-3.x - 在一行中获取多个输入的问题
- python - 未知批量大小的Tensorflow tensordot
- c - 复制字符串 - 我必须如何处理内存泄漏和错误情况?
- react-native - ReactNative 渲染嵌套列表慢:建议
- javascript - NodeMailer 响应服务器上没有任何内容
- html - 是否允许在表格行之间使用 div?
- java - Android房间实体继承