3

我正在尝试根据手册使 Ngx-datatable 详细信息行工作,但到目前为止还没有运气。

我已经创建了这个 plunker:https ://embed.plnkr.co/yQv0Gvy8E8k1bqRr5Pxx/ 基本上只是从Swimlanes在线文档http://swimlane.github.io/ngx-datatable/#row-details复制行详细演示

我想使用手册中提到的 rowHeight 绑定:

<ngx-datatable-row-detail [rowHeight]="getHeight" #myDetailRow (toggle)="onDetailToggle($event)">
  <ng-template let-row="row" ngx-datatable-row-detail-template>
    <div><strong>Address</strong></div>
    <div>{{row.address.city}}, {{row.address.state}}</div>
  </ng-template>
</ngx-datatable-row-detail>

和 TS:

getHeight(row: any, index: number): number {
  return row.someHeight;
}

然而,行一直未定义!我错过了什么?

作为替代方案,我只想从 getHeight 函数访问我的原始行数组,但继续获取未定义的行。

console.log(this.rows[index]);

谢谢!

更新 - 修复

我修复它的方法很简单:

getHeight(row: any): number {
  if(row) {
    return row.someHeight;
  }
}
4

1 回答 1

0

当你这样做时:

[rowHeight]="getHeight"

你实际上是rowHeight与函数对象绑定的getHeight

您可能想要做的是将其绑定到函数的结果:getHeight(...)

[rowHeight]="getHeight(...)"
于 2017-10-12T08:57:46.340 回答