У вас есть единственная переменная isCollapsed
, которая управляет развертыванием / свертыванием для каждого деления (так что либо все будет развернуто, либо все будет свернуто).Вы не опубликовали Typescript, но я предполагаю, что он выглядит следующим образом:
export class MyComponent {
public isCollapsed: boolean = true;
public rows: object[] = [
{ detail: 'x' },
{ detail: 'y' }
];
}
Вам потребуются индивидуальные isCollapsed
переменные для отслеживания отдельных div.
Если выиметь контроль над объектами в rows
, вы можете добавить его туда:
public rows: object[] = [
{
detail: 'x',
isCollapsed: true
},
{
detail: 'y',
isCollapsed: true
}
];
Затем измените HTML следующим образом:
<div class="row mt-4" *ngFor="let row of rows">
<div class="col-12">
<button class="btn btn-link" (click)="row.isCollapsed = !row.isCollapsed"
[attr.aria-expanded]="!row.isCollapsed" aria-controls="collapseExample">
<i class="fa" aria-hidden="true"></i>
Details
</button>
<div [ngbCollapse]="row.isCollapsed">
{{ row.detail}}
</div>
</div>
</div>
Это позволит вам контролировать расширение /рушатся отдельные дивы.Пожалуйста, смотрите этот Plunker для демонстрации