我正在尝试覆盖 ngx-datatable 单元格的模板。所以在我的模板(html)文件中,我为此设置了一个小 View 。为了测试模板是否有效,我只是在它周围显示值:
<ngx-datatable
class="material"
[rows]="rows"
[columns]="columns"
headerHeight="45">
</ngx-datatable>
<ng-template #roleTemplate let-row="row" let-value="value" let-i="index">
<strong> **{{ value }}** </strong>
</ng-template>
在我的组件中,我使用 ViewChild 来获取模板并将其提供给我的数据表。
@ViewChild('roleTemplate') roleTemplate: TemplateRef<any>;
public columns = [
{ name: 'Name', prop: 'displayName' },
{ name: 'Email', prop: 'emailAddress' },
{ name: 'Role', prop: 'role', cellTemplate: this.roleTemplate },
{ name: 'Status', prop: 'status' },
];
只有 documentation 说:
但是,它似乎不起作用。我错过了什么吗?
最佳答案
我认为您需要将列初始化移动到 ngOnInit
内,例如:
ngOnInit() {
this.columns = [
{ name: 'Name', prop: 'displayName' },
{ name: 'Email', prop: 'emailAddress' },
{ name: 'Role', prop: 'role', cellTemplate: this.roleTemplate },
];
}
Plunker Example
关于Angular ngx-datatable cellTemplate 未加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43908410/