我有這些示例資料:
{
lastName: "dasdasd",
totalAmount: 400,
cartItems: [
{
color: "Black",
size: "500",
quantity: 2,
cat: "ML",
name: "Tumbler",
price: 200
}
],
orderCreatedAt: { seconds: 1647338693, nanoseconds: 319000000 },
Address: "France",
houseNo: "7",
firstName: "Anna",
},
我想列印名字、姓氏、houseNo、地址、總金額、cartItems(僅限名稱和顏色),然后是時間戳日期orderCreatedAt。我在代碼沙箱中重新創建了這個:https://codesandbox.io/s/js-pdf-78272j?file=/src/App.js: 
uj5u.com熱心網友回復:
它顯示 [Object,Object] 的原因是當你這樣做的時候
data.map((item) => rows.push(Object.values(item)));
您實際上是在將整個資料物件rows一一推送到陣列中,而無需進行任何資料轉換。所以在House No.列上, [Object,Object] 實際上代表cartItems物件,而在Address列上 [Object,Object] 實際上是 的值orderCreatedAt。
現在columns您定義的與您擁有的資料物件不一致,因此您需要先進行一些資料轉換。我在這里編輯了代碼框供您參考。
同樣對于該orderCreatedAt列,我猜您是從 firebase 獲取資料,因此您可能需要從firebase/firestore包中匯入 Timestamp 以進行轉換,但人們還發現您可以使用此將 Timestamp 轉換為 Date公式。
希望能幫助到你。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456296.html
標籤:javascript 反应 jspdf jspdf-自动表
