我在 nodeJS 项目中使用 pdfKit - 生成 PDF。
我有一个数组,其中存储数据并用于填充正在工作的表。
但是,我无法弄清楚如何从数组中的对象中检索数据。在下面的示例中,我想检索child
对象。
我需要某种循环,但不知道如何添加它!
如何创建包含子数据的表,如下所示?
var dataArray = {
id: 12332,
products: [{
price: '10',
amount: '20',
child: [{ color: 'red', id: 101},{ color: 'green', id: 103}]
}, {
price: '55',
amount: '23',
child: [{ color: 'black', id: 106}]
}]
}
我试图让我的桌子看起来像:
| price | amount |
------------------
| 10. | 20. |
------------------
|| red 101 ||
--------------
|| green 103 ||
------------------
| 10. | 20. |
------------------
|| black 106 ||
--------------
到目前为止,这是我的 JS 代码:
let i,
invoiceTableTop = 330;
generateTableRow(
doc,
invoiceTableTop,
"price",
"amount",
);
generateHr(doc, invoiceTableTop + 20);
for (i = 0; i < dataArray.products.length; i++) {
const item = dataArray.products[i];
const position = invoiceTableTop + (i + 1) * 30;
generateTableRow(
doc,
position,
item.price,
item.amount
);
}
function generateHr(doc, y) {
doc
.strokeColor("#aaaaaa")
.lineWidth(1)
.moveTo(50, y)
.lineTo(550, y)
.stroke();
}
function generateTableRow(doc, y, c1, c2) {
doc
.fontSize(10)
.text(c1, 50, y)
.text(c2, 150, y)
}