Мне нужно динамически визуализировать список панелей расширения внутри аккордеона.
Разметка довольно проста:
<mat-accordion *ngIf="currentVenue">
<mat-expansion-panel *ngFor="let gig of currentVenue.gigs" expanded="false">
<mat-expansion-panel-header>
<mat-panel-title>
{{gig.name}}
</mat-panel-title>
<mat-panel-description>
Type your name and age
</mat-panel-description>
</mat-expansion-panel-header>
</mat-expansion-panel>
</mat-accordion>
К сожалению, это приводит к неиспользуемому элементу управления.Заголовок не открывает панель, и вся функциональность аккордеона также нарушена.Мне нужно щелкнуть за пределами элемента управления, а затем случайным образом он открывает одну дочернюю панель расширения (или нет).
Если я, в свою очередь, использую «статический» подход (я скопировал это из кода примеров), всеработает как задумано:
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
Personal data
</mat-panel-title>
<mat-panel-description>
Type your name and age
</mat-panel-description>
</mat-expansion-panel-header>
<mat-form-field>
<input matInput placeholder="First name">
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Age">
</mat-form-field>
</mat-expansion-panel>
[...]
</mat-accordion>
Я предполагаю, что это связано с *ngIf
и способом создания элементов управления.
Я использую угловой материал 6.4.7 и угловой 6.1.10