Буду признателен за любую помощь. Я использую Angular реактивную форму и мат-дизайн материала с выбором множественный . В поле выбора отображается список стран и их соответствующий флаг:
> **spokenLangs**: any[] = [
> {lang: 'Hebrew', flag: 'icons8-israel-48.png'},
> {lang: 'English', flag: 'icons8-great-britain-48.png'},
> {lang: 'Russian', flag: 'icons8-russian-federation-48.png'},
> {lang: 'French', flag: 'icons8-france-48.png'},
> {lang: 'Italian', flag: 'icons8-italy-48.png'},
> {lang: 'Spanish', flag: 'icons8-spain-flag-48.png'},
> {lang: 'German', flag: 'icons8-germany-48.png'},
> {lang: 'Chinese', flag: 'icons8-china-48.png'},
> ];
Я могу инициализировать свой mat-select с предварительно определенным выбором выбранного языка среди speakLangsArray:
this.selectedLangs = [{lang: 'English', flag: 'icons8-great-britain-48.png'}, {lang: 'German', flag: 'icons8-germany-48.png'}]
this.clientForm = this.fb.group(
**spokenLangs**: [this.**selectedLangs**]
})
Моя проблема возникает, когда я обновляю свой matSelect другим предопределенным выбором, полученным с сервера.
this.**selectedLangs** = this.selectedClientData.spokenLangs;
this.clientForm.patchValue({**spokenLangs**: this.**selectedLangs**});
**
- мой mat-select остается без выбора.
**
<form [formGroup]="clientForm" (ngSubmit)="onSubmit()" novalidate >
<mat-form-field appearance="outline" class="spokenLangs">
<mat-label>Spoken Languages</mat-label>
<mat-select formControlName="**spokenLangs**" placeholder="Select Language"
[(ngModel)]="**selectedLangs**" **multiple**>
<mat-select-trigger>
<img height="25px" *ngFor="let currLang of **selectedLangs**" style="margin-right:
1em;" src="../../../../assets/icons/flags/{{currLang.flag}}">
</mat-select-trigger>
<mat-option *ngFor="let elem of **spokenLangsArray**" [value]="elem">
<img height="25px" src="../../../../assets/icons/flags/{{elem.flag}}">
</mat-option>
</mat-select>
</mat-form-field>
</form>
Что я делаю не так ??