PDFMAKE 中的动态列

Dynamic column in PDFMAKE

我正在使用 PdfMake 在我的 VueJS 应用程序上生成 PDF,我想知道我是否可以控制模板中列的印象,例如,使用像变量一样打印的数据。

我正在尝试达到这样的目的:

让 var1: 字符串 = 'test';
让 var2: string = 'test2';

1) 原代码

var dd = {
    content: [
        {
            alignment: 'justify',
            columns: [
                {
                    text: 'var1'
                },
                {
                    text: 'var2'
                }
            ]
        },

    ],
    styles: {
        header: {
            fontSize: 18,
            bold: true
        },
        bigger: {
            fontSize: 15,
            italics: true
        }
    },
    defaultStyle: {
        columnGap: 50
    }

}

2) After/with 验证

如果 var2 == null

var dd = {
        content: [
            {
                alignment: 'justify',
                columns: [
                    {
                        text: 'var1'
                    }
                ]
            },

        ],
        styles: {
            header: {
                fontSize: 18,
                bold: true
            },
            bigger: {
                fontSize: 15,
                italics: true
            }
        },
        defaultStyle: {
            columnGap: 50
        }

    }

在文档定义之外设置一个变量还不够吗?我相信一段代码就可以解决问题。

      var columns = [];
      var var1; // Defaults to undefined
      var var2; // Defaults to undefined
      
      var1 ="";
      
      // If we have a value we add the column
      if (var1 !== undefined) {
        columns.push({ text: "var1" });
      }
      
      if (var2 !== undefined) {
        columns.push({ text: "var2" });
      }
      
      // PDFMake document definition
      var dd = {
        content: [
            {
                alignment: 'justify',
                columns: columns
            },

        ]
        ...
    }