Как получить форму ввода значения из FormGroup - PullRequest
0 голосов
/ 17 февраля 2020

Добрый день, ребята, я бы хотел найти решение для моей проблемы. У меня есть FormGroup , как это:

  profileForm  = new FormGroup({ 
    username   : new FormControl(),
    firstname  : new FormControl(),
    lastname   : new FormControl(),
    email      : new FormControl(),
    password   : new FormControl(),
  }); 

И я хотел бы получить значение, используя:

const user = {
  firstname : this.profileForm.get('firstname').value,
  lastname  : this.profileForm.get('lastname').value,
  username  : this.profileForm.get('username').value,
  email     : this.profileForm.get('email').value,
  password  : this.profileForm.get('password').value
}
console.log(user)

Но я получил нулевое значение для каждого Форма ввода. Но значение существует в форме ввода HTML:

<input name="username" matInput placeholder="Username" formControlName="username" [readonly]="true" value="{{details?.data.username}}" >

Помогите мне исправить это, спасибо.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Я думаю, value="{{details?.data.username}}" не является для вас обязательным значением. Он просто печатает значение в дом.

Я предполагаю, что вы получаете данные details?.data.username в ngOnInit() (или, может быть, где-то еще), от которых вы можете связать свою форму следующим образом

this.profileForm.get('firstname').setValue(details?.data.username)

и удалите это value="{{details?.data.username}}" из html.

0 голосов
/ 17 февраля 2020

Ваша ошибка в том, что вы обращаетесь к Formgroup (которая в основном является объектом, который содержит все formControls), которые не содержат значения. У вас должны быть средства управления доступом группы Form. Пример:

this.profileForm.controls.username.value
...