【发布时间】:2018-05-14 13:36:02
【问题描述】:
我正在为我的项目使用 Angular2-Collapsible。单击表格行时,我希望显示详细信息。代码附在下面。基本上,如果我添加[detail]= "detail1",那么可折叠表格行详细信息将在点击时显示。但由于我使用的是 for 循环,所以我必须使用变量 i。我试过[detail]= "'detail'+i" 和[attr.detail]= "'detail'+i"。似乎没有任何工作。
<collapsible-table [type]="'accordion'" borderedVertically="true" class="table">
<thead class="table-heading">
<collapsible-table-row>
<th></th>
<th>Reference ID</th>
<th>Order ID</th>
<th> OName</th>
<th>FP</th>
<th>SP</th>
<th>Stat</th>
<th>date</th>
</collapsible-table-row>
</thead>
<tbody>
<collapsible-table-row *ngFor="let detail of details; let i = index" [attr.data-index]="i" [detail]="'detail'{{i}}">
<td><div class="input-group-text">
<input type="checkbox" aria-label="Checkbox for following text input">
</div>
</td>
<td (click)="showFirst=!showFirst"><i class="material-icons" *ngIf="showFirst"><span class="bulleticon"> - </span></i><i class="material-icons" *ngIf="!showFirst"><span class="bulleticon"> + </span> </i>{{detail.Reference_Id}}<br></td>
<td> {{detail.OId}} </td>
<td>{{detail.OName}}</td>
<td>{{detail.FP}}</td>
<td>{{detail.SP}}</td>
<td>{{detail.Stat}} </td>
<td>{{detail.date}}</td>
</collapsible-table-row>
<collapsible-table-row-detail #detail1 class="hidden-table">
<div class="container">
<div class="list col-5">
<span class="heading"> Order details </span>
<ul class="unorderedlist">
<li> data1 </li>
<li> data2 </li>
<li> data3</li>
</ul>
</div>
</div>
</tbody>
</collapsible-table-row-detail>
提前致谢!
编辑:这是我要实现的目标的堆栈闪电战实施。我已将 [detail]= "detail1" 用于演示目的。但我需要在 for 循环中使用变量“i”。 访问https://stackblitz.com/edit/angular-fw5upv。
【问题讨论】:
-
你试过
[detail]="'detail1'+i"吗? -
是的。基本上我需要 [detail]="detail1" 并且值 1 必须在每次 for 循环执行时递增。
-
所以不需要添加
1static 只需使用[detail]="'detail'+i" -
你不能从数组中通过索引获取 details 元素吗?详情[i]
-
不,我不能使用数组索引。我附上了 stackblitz 的实现。你能看一下吗?
标签: html angular interpolation ngfor