【发布时间】:2018-07-09 22:11:07
【问题描述】:
请不要将其标记为重复 - 我已经尝试过以下链接: 1)Hide/show individual items inside ngFor 2)Angular 2 - expand collapse table row 3)Hide/show individual items inside ngFor in angular 2
问题:
单击上一行中的链接时,我试图隐藏/显示表格行,如下所示:component.html
<div class="table-responsive" *ngFor="let total of totals; let i=index">
<table class="table">
<ng-container *ngIf="total">
<h4 class="productName">Product: {{total.projectGroup}}</h4>
<tr>
<th>Total LOC</th>
<th>Total Test Coverage</th>
<th>Total Coverage on New Code</th>
<th>Total Technical Debt</th>
<th>Total Issues</th>
</tr>
<tr>
<td>{{total.totalLOC}}</td>
<td>{{total.totalCoverage}}</td>
<td>{{total.totalNewCoverage}}</td>
<td>{{total.totalTechDebtDays}}</td>
<td><span *ngIf="total.totalCriticalIssues >= 0">Critical: </span>{{total.totalCriticalIssues}} <br/> <span *ngIf="total.totalNonCriticalIssues >= 0">Non-critical: </span>{{total.totalNonCriticalIssues}}</td>
</tr>
<tr>
<td><a id="{{i}}" class ="a_link" (click)="toggle[total.projectGroup]=!toggle[total.projectGroup]; expand(total.projectGroup)"> Expand/Collapse</a></td>
</tr>
<tr [hidden]="!toggle[total.projectGroup]">
<div class="table-responsive">
<table class="table">
<tr class="table-header">
<th>Project Key</th>
<th>Quality Gate</th>
<th>LOC</th>
<th>Test Coverage</th>
<th>Coverage on New Code</th>
<th>Technical Debt</th>
<th>Issues</th>
</tr>
<tr *ngFor="let pjt of indProjects" class="table-condensed">
<td>{{pjt.projectKey}}</td>
<td>{{pjt.qualityGate}}</td>
<td>{{pjt.loc}}</td>
<td>{{pjt.coverage}}</td>
<td>{{pjt.newCoverage}}</td>
<td>{{pjt.techDebtDays}}</td>
<td><span *ngIf="pjt.criticalIssues >= 0">Critical: </span>{{pjt.criticalIssues}} <br/> <span *ngIf="pjt.nonCriticalIssues >= 0">Non-critical: </span>{{pjt.nonCriticalIssues}}</td>
</tr>
</table>
</div>
</tr>
</ng-container>
</table>
如果我点击相同的“展开/折叠”链接 2 次,它会起作用 - 首先它会显示,然后它会隐藏。但是如果我单击一个链接一次(它显示)然后单击另一个链接,两个扩展将在内表中显示相同的数据(这是最后一个扩展的数据)。我需要的是第一个扩展应该显示与该链接相关的数据,第二个扩展应该显示与第二个相关的数据。
请,任何指针都会有所帮助。如果我在描述问题时不清楚,请告诉我。
【问题讨论】:
标签: angular