vue.js - PDFMAKE中的动态列
问题描述
我正在使用 PdfMake 在我的 VueJS 应用程序上生成 PDF,我想知道我是否可以控制模板中列的印象,例如,使用像变量一样打印的数据。
我试图达到这样的目标:
让 var1: string = '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) 验证后/验证后
如果 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
},
]
...
}
推荐阅读
- excel - 在 Microsoft Excel 中打开使用 ClosedXML 创建的电子表格,而不创建临时文件
- facebook - Unity 游戏的 Facebook 应用邀请设置
- php - 通过 ajax 在 Laravel 中上传文件
- java - 整数数组索引
- excel - 如何将可重复使用的多行/多列表从一个 Excel 工作表复制到另一个工作表上的数据库
- java - Android Webview:只显示网站的内容
- arrays - Swift 2 字符串数组删除特定索引错误
- server - Redis 简单生产服务器规范
- javascript - Google 应用程序脚本 UrlFetchApp 错误“访问未授予或已过期”
- python - Mypy 不使用 Type[NamedTuple] 进行类型检查功能