Angular 6 Mat-Select не определяет user.email через http GET-запрос - PullRequest
0 голосов
/ 06 января 2019

Я хочу сделать выбор с FormGroup. Данные, которые пользователь может выбрать, поступают через запрос GET.

Adminpanel.ts

this.userservice.getallusers().subscribe((res: any) =>{
    for (let index = 0; index < res.length; index++) {
      this.users[index] = res[index];
      this.usersemails[index] = this.users[index].email;
      console.log(this.usersemails[index]);
    }

});

Данные проходят через цикл for и присваиваются массиву usersemails[index]. Массив заполняется правильно.

FormGroup из HTML

<form [formGroup]="AddxpForm" (ngSubmit)="addxponSubmit()">
    <mat-form-field class="geo-full-width">
      <input matInput placeholder="Amount of XP" type="number" name="User_xp" formControlName="user_xp">
    </mat-form-field>
    <mat-select placeholder="User email" name="useremail" fromControlName="useremail">
      <mat-option *ngFor="let useremail of usersemails" [value]="useremail">
        {{useremail}}
      </mat-option>
    </mat-select>
    <button mat-raised-button class="geo-full-width" type="submit" [disabled]="!AddxpForm.valid">Add UserXP</button>
  </form>
</div>

Функция выбора работает также потому, что я могу выбирать электронные письма, которые я получаю через запрос HTTP GET. Но когда я пытаюсь опубликовать его снова, электронное письмо остается undefined.

Отправить функцию из файла TS

addxponSubmit(){
  this.user.email = this.AddxpForm.value.useremail;
  this.user.experience = this.AddxpForm.value.user_xp
  console.log(this.AddxpForm);
  console.log(this.user);
}

Может кто-нибудь сказать мне, что я здесь делаю неправильно?

1 Ответ

0 голосов
/ 07 января 2019

Как прокомментировал fridoo, проблема заключается в опечатке, здесь вы можете проверить правильность работы формы:

https://stackblitz.com/edit/mat-select-stack?embed=1&file=src/app/app.component.ts

...