Задать вопрос
part_os
@part_os
Сложное в простом

Как collapse раскрывать каждый свой?

Есть множество элементов:
<button type="button" class="btn btn-primary" (click)="isCollapsed = !isCollapsed"
        [attr.aria-expanded]="!isCollapsed" aria-controls="collapseBasic1">Toggle collapse
</button>
<hr>
<div id="collapseBasic1" [collapse]="isCollapsed">
  <div class="well well-lg card card-block card-header">Some content</div>
</div>

<button type="button" class="btn btn-primary" (click)="isCollapsed = !isCollapsed"
        [attr.aria-expanded]="!isCollapsed" aria-controls="collapseBasic1">Toggle collapse
</button>
<hr>
<div id="collapseBasic1" [collapse]="isCollapsed">
  <div class="well well-lg card card-block card-header">Some content</div>
</div>


в компоненте прописан:
isCollapsed = false;

сейчас они раскрываются все по нажатию, как заставить их открываться каждый по своей кнопке?
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
нашел похоже ваш пример и чуть доработал.
Не нужно плодить лишние переменные.

https://stackblitz.com/edit/ngx-bootstrap-collapse...
Ответ написан
Комментировать
vanchelo
@vanchelo
Как-то примерно так

<button
  type="button"
  class="btn btn-primary"
  (click)="panels.panel1 = !panels.panel1"
  [attr.aria-expanded]="!panels.panel1"
  aria-controls="collapseBasic1"
>
  Toggle collapse
</button>

<hr />

<div id="collapseBasic1" [collapse]="panels.panel1">
  <div class="well well-lg card card-block card-header">Some content</div>
</div>

<button
  type="button"
  class="btn btn-primary"
  (click)="panels.panel2 = !panels.panel2"
  [attr.aria-expanded]="!panels.panel2"
  aria-controls="collapseBasic1"
>
  Toggle collapse
</button>

<hr />

<div id="collapseBasic1" [collapse]="panels.panel2">
  <div class="well well-lg card card-block card-header">Some content</div>
</div>


// panels.component.ts
export class PanelsComponent {
  public panels: { [panelName: string]: boolean } = {
    panel1: false,
    panel2: false
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы