2017-10-12 119 views
2

我想根据手册使Ngx数据表详细行工作,但到目前为止没有运气。Ngx数据表行详细信息

我创造了这个plunker:https://embed.plnkr.co/yQv0Gvy8E8k1bqRr5Pxx/基本上只是复制从泳道在线文档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]); 

谢谢!

UPDATE - 修复

我所做的修复它很干脆:

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

你找到一个方法来解决这个问题? –

+1

我很抱歉这个迟到的回复。我正确地使用它,因为它是以上。但问题是,它也发送了一些未定义的。所以我必须做的是对数据进行排序。我希望它有帮助。如果不让我知道,我会看看我能否做出更好的回答。 –

+0

你是什么意思排序数据?你能用新的解决方案更新你的代码吗? –

回答

0

,当你这样做:

[rowHeight]="getHeight" 

你实际上是用函数对象绑定rowHeightgetHeight

你可能想要做的是将其绑定到结果getHeight(...)函数,而不是

[rowHeight]="getHeight(...)"