【发布时间】:2019-09-22 14:14:44
【问题描述】:
我正在尝试传递额外的字段来帮助处理。这就是我定义列数组的方式:
this.columns = [
{field: 'vin', header: 'Vin', isMultiRowColumn: true },
{field: 'year', header: 'Year', isMultiRowColumn: false},
{field: 'brand', header: 'Brand', isMultiRowColumn: false},
{field: 'color', header: 'Color', isMultiRowColumn: false}
];
现在,当我运行以下代码时:
<p-dataTable [value]="testData">
<p-column *ngFor="let col of columns" [field]="col.field" [header]="col.header">
<ng-template let-col let-dt="rowData" pTemplate="body">
<span>{{dt[col.field] + '-' + col.isMultiRowColumn }}</span>
</ng-template>
</p-column>
</p-dataTable>
我明白了:
dsad231ff-undefined 2012-undefined VW-undefined Orange-undefined
isMultiRowColumn 没有通过有什么原因吗?
感谢您的帮助
【问题讨论】:
-
你添加了标签吗?
-
@EhsanKiani 当我将代码粘贴到她时它被隐藏了。我修好了它。谢谢
-
从 ng-template 中移除 let-col。
-
@FatemeFazli。有效。现在我想明白了。
let-col与let col of..不同吗?我对let-中可以定义的内容有点困惑。 -
当您定义 let-col 时,它会创建一个新变量,该变量引用具有字段属性的表 col,并且它不引用在 ngFor 中定义的 col 变量,它具有字段属性但没有isMultiRowColumn 属性,因此请尝试将 ngfor 变量从 col 更改为 column。