I am trying to create a dynamic table where clicking a button displays the row directly beneath it.
I checked out a helpful post on this topic, but didn't find the exact solution I needed.
The current setup works but reveals all hidden rows because they share the same collapse variable
.
Below is a working example, though not entirely correct:
<table>
<thead>
<th>Path out of this queue</th>
<th *ngFor="let role of roles">{{role.RoleName}}</th>>
</thead>
<tbody>
<ng-container *ngFor="let queue of workQueues; let i = index">
<tr>
<td><button (click)="collapse=!collapse">{{queue.WorkQueueName}}</button></td>
<td *ngFor="let role of roles">
<input type="checkbox" />
</td>
</tr>
<tr *ngIf="collapse">
Yay...
</tr>
</ng-container>
</tbody>
I attempted to make the collapse variable
unique by appending the i
(index) to it, resulting in the following error:
Parser Error: Got interpolation ({{}}) where expression was expected
My solution:
<table>
<thead>
<th>Path out of this queue</th>
<th *ngFor="let role of roles">{{role.RoleName}}</th>>
</thead>
<tbody>
<ng-container *ngFor="let queue of workQueues; let i = index">
<tr>
<td><button (click)="{{collapse+i}}={{!collapse+i}}">{{queue.WorkQueueName}}</button></td>
<td *ngFor="let role of roles">
<input type="checkbox" />
</td>
</tr>
<tr *ngIf="{{collapse+i}}">
Yay...
</tr>
</ng-container>
</tbody>
How can I create a unique variable in the (click)
event that I can utilize?