我正在尝试覆盖 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/

10-16 17:49