@frontAng

Как прошлый вопрос закрывать?

Типа аккордеон ( но в каждом табе отдельно) https://stackblitz.com/edit/angular-accordion-demo...
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
0xD34F
@0xD34F
А что, сгруппировать массив data по значениям свойства type - нет, никак? А компонент аккордеона отдельный сделать - тоже никак? Предлагаю всё-таки подумать в эту сторону. Ну а пока - говнокод:

app.component:

opened = {}

get currentTabItems() {
  return this.data.filter(n => n.type === this.tabs[this.activeTab].toLowerCase());
}

<app-navbar [tabs]="tabs" [(activeTab)]="activeTab"></app-navbar>
<app-faq
  *ngFor="let item of currentTabItems;"
  [item]="item"
  [opened]="opened[item.type] === item"
  (toggle)="opened[item.type] = $event ? item : null"
></app-faq>

faq.component:

@Input() opened;
@Output() toggle = new EventEmitter();

<div class="faq__box" [class.isOpen]="opened" (click)="toggle.emit(!opened)">
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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