如何在jsPDF的body中传递一个多值数组?
How to pass an array with multiple values in the body of jsPDF?
我正在尝试使用 jsPDF 显示用户已订购的产品列表。
我可以创建专栏并生成 PDF(下载)
但是我在使用 body.
时遇到了问题
我无法以 PDF 格式发送我的信息 body。
然而,之前为了显示我的数组的不同值,我做了例如“carts.map”,但它似乎不是我请求的正确方法。
看来我对数组的理解有点吃力...
这是我的代码:
// Get the product name, quantity, price ...
const [paniers, setPaniers] = useState([])
const getPaniersDetailsCommande = () => [
getDetails(JSON.parse(localStorage.getItem('User')).id)
.then(response => {
setPaniers(response.data)
console.log(response.data)
}).catch(err => console.log(err))
]
// Generation of the PDF
const PDFGeneration = () => {
var doc = new jsPDF('p','px','a4','false');
doc.text(10,15,'Résumé de votre commande : ');
doc.autoTable({
theme: 'grid',
startY: 20,
head: [['Nom', 'Quantité', 'Prix (€)']],
body:[// Data of my product],
});
doc.save('CommandeInfo.pdf');
}
如果我忘了提供更多信息,请在评论中告诉我
感谢帮助 >_< !
我遇到了类似的问题。在你的情况下,我建议在 const PDFGeneration 之前使用这个:
const [data] = useState(yourdata.map(item=> [item.id, item.nom, item.quantité, item.prix])); //and map all the data you require.
之后,当您在正文中调用 doc.autoTable 时,只需调用创建的 const,如下所示:
doc.autoTable({
theme: 'grid',
startY: 20,
head: [['Nom', 'Quantité', 'Prix (€)']],
body:data,
});
我正在尝试使用 jsPDF 显示用户已订购的产品列表。
我可以创建专栏并生成 PDF(下载) 但是我在使用 body.
时遇到了问题我无法以 PDF 格式发送我的信息 body。
然而,之前为了显示我的数组的不同值,我做了例如“carts.map”,但它似乎不是我请求的正确方法。
看来我对数组的理解有点吃力...
这是我的代码:
// Get the product name, quantity, price ...
const [paniers, setPaniers] = useState([])
const getPaniersDetailsCommande = () => [
getDetails(JSON.parse(localStorage.getItem('User')).id)
.then(response => {
setPaniers(response.data)
console.log(response.data)
}).catch(err => console.log(err))
]
// Generation of the PDF
const PDFGeneration = () => {
var doc = new jsPDF('p','px','a4','false');
doc.text(10,15,'Résumé de votre commande : ');
doc.autoTable({
theme: 'grid',
startY: 20,
head: [['Nom', 'Quantité', 'Prix (€)']],
body:[// Data of my product],
});
doc.save('CommandeInfo.pdf');
}
如果我忘了提供更多信息,请在评论中告诉我
感谢帮助 >_< !
我遇到了类似的问题。在你的情况下,我建议在 const PDFGeneration 之前使用这个:
const [data] = useState(yourdata.map(item=> [item.id, item.nom, item.quantité, item.prix])); //and map all the data you require.
之后,当您在正文中调用 doc.autoTable 时,只需调用创建的 const,如下所示:
doc.autoTable({
theme: 'grid',
startY: 20,
head: [['Nom', 'Quantité', 'Prix (€)']],
body:data,
});