Выбор Mat: нет предварительно выбранного значения, когда данные загружаются по обещанию - PullRequest
0 голосов
/ 02 мая 2018

Я загружаю массив групп для выбора мат по http. Мой код .ts выглядит так:

async ngOnInit(): Promise<void> {
    this.groups = await this.service.loadGroups();
    this.form = new FormGroup( 
        groupId: new FormControl(this.user.groupId || 0)
    );
}

public get groupId(): AbstractControl { return this.from.get('groupId'); }

и в моем html:

<mat-form-field>
    <mat-select formControlName="groupId" [value]="resellerGroupId.value" required>
         <mat-option *ngFor="let group of groups" [value]="group.id">
             {{ group.name }}
         </mat-option>
     </mat-select>
</mat-form-field>

Поэтому, когда я загружаю данные, подобные этим, у меня нет предварительно выбранного значения в mat-select. Если данные представляют собой массив значений - проблем не возникает, но когда я добавляю Promise, они ломаются. Я не могу понять, почему значение пользовательского интерфейса не обновляется после того, как обещание loadGroups () будет разрешено.

1 Ответ

0 голосов
/ 02 мая 2018

Вам необходимо использовать асинхронную трубу с параметром mat. Посмотрите на пример autocomplete , чтобы увидеть, как это делается.

...