Есть следующая форма:
<mat-input-container class="input-block">
<input matInput
placeholder="Количество"
name="number"
[(ngModel)]="count"
#number="ngModel"
(ngModelChange)="addForms()"
type="number">
</mat-input-container>
<mat-expansion-panel [expanded]="false" *ngFor="let title of titles; let i = index">
<mat-expansion-panel-header>
<mat-panel-title>Форма {{ i + 1 }}</mat-panel-title>
</mat-expansion-panel-header>
<mat-form-field class="input-block">
<mat-select placeholder="Наименование"
name="title{{i + 1}}"
#title="ngModel"
[(ngModel)]="title.model">
<ngx-mat-select-search name="modelFilterByTitle"
#modelFilterByTitle="ngModel"
ngModel></ngx-mat-select-search>
<mat-option *ngFor="let model of filteredModels$ | async" [value]="model">
{{model.name}}
</mat-option>
</mat-select>
</mat-form-field>
со стороны ts это выглядит так:
count: number;
titles = [];
addForms() {
this.titles = [];
for (let i = 1; i <= this.count; i++) {
this.titles.push({
model: modelModel,
});
}
}
В чем суть: в поле Количество вводят число, например 3, автоматически генерируется массив titles и дублируются три панели с селектами, по селекту осуществляется поиск. И вот, если в первом селекте проблемы нет - я нашла, выбрала, после выбора в селекте отобразилось выбранное, то вот с вторым, третьим и т.д уже проблемы, я выбираю пункт - он на секунду показывается в селекте, и пропадает. Но! При этом если выводить массив titles, то все заносится корректно. Т.е номер и данные о модели соответствуют выбранному в селекте. Как решиться проблему с исчезновением наименования из дублированных селектов?