如何获取我在 table 中勾选的所有详细信息?

How to get all the details I ticked in a table?

我正在使用 PDFMake 生成我在 table.

中勾选的每个人的大量详细信息

这是它的样子:

在我制作的每个勾选中,我应该使用 PDFMake 及其 QR 码在 PDF 中生成单独的优惠券债券 (pageBreak) 中的详细信息。我在我的控制台中成功打印了:

这是我的代码:

var docDefinition;
  for (var vin = 0; vin < this.selected.length; vin++) {
    var nestedArr = new Array(this.selected);

    var s = nestedArr[0][vin].LAST_M + "\n" + nestedArr[0][vin].MEMB_N;
    console.log(s);

    docDefinition = {
      pageSize: "A6",
      pageMargins: [0, 0, 0, 0],
      content: { text: s }
    };
  }

  pdfMake.createPdf(docDefinition).print();
},

但是当涉及到生成带有他们详细信息的 PDF 时,它只会生成最后一个勾选的人,而不是我勾选的所有人。如下图所示:

我猜问题出在 docDefinition 上,因为它会在我每次生成 PDF 时创建一个实例,并且只会得到我勾选的最后一个人。

我该怎么做才能解决这个问题?

你的docDefinition每次在for循环中都会被重写,所以它只取最后一个值。您可以更改为:

var docDefinition;
var text = []
for (var vin = 0; vin < this.selected.length; vin++) {
  var nestedArr = new Array(this.selected);

  var s = nestedArr[0][vin].LAST_M + "\n" + nestedArr[0][vin].MEMB_N;
  text.push(s)
}
docDefinition = {
  pageSize: "A6",
  pageMargins: [0, 0, 0, 0],
  content: { text: text.join("\n") }
};
pdfMake.createPdf(docDefinition).print();

这个技巧对我有用。 从 也从 GitHub

中获取了代码
 var docDefinition;
  var text = [];
  for (var vin = 0; vin < this.selected.length; vin++) {
    var nestedArr = new Array(this.selected);

    var s = nestedArr[0][vin].LAST_M + "\n" + nestedArr[0][vin].MEMB_N;
    text.push(s);
  }

  var docDefinition = {
    content: text.map(function(item) {
      return { text: item, pageBreak: "after" };
    })
  };
  pdfMake.createPdf(docDefinition).print();