Як отримати одне значення з FormGroup


86

Я знаю, що можу отримати значення форми за допомогою

JSON.stringify (this.formName.value), однак, я хочу отримати одне значення з форми.

Як я можу це зробити?

Відповіді:


135

Ви можете отримати таке значення

this.form.controls['your form control name'].value

23
this.form.controls.email.valueтакож працює без дужок, але від вас
залежить,

Як сказав @Julia, отримання значення методом "get ()" краще, ніж це.
Кавінда Джаякоді

120

Так, ти можеш.

this.formGroup.get('name of you control').value

8
Це має бути правильною відповіддю, оскільки ви отримуєте доступ через метод, а не отримуєте елементи керування безпосередньо
Мохан Рам,

Звичайно, це метод, який використовується і в офіційній документації. angular.io/guide/reactive-forms
Кавінда Джаякоді

20

Позначення крапками порушить перевірку типу, перейдіть до нотації дужок. Ви також можете спробувати скористатися методом get (). Він також зберігає компіляцію AOT в такті, яку я прочитав.

this.form.get('controlName').value // safer
this.form.controlName.value // triggers type checking and breaks AOT

1
Я погоджуюся з .get()методом, однак потрібно закінчити, .valueя думаю:this.form.get('controlName').value
Риноп

1
Я ціную цю відповідь, оскільки вона дає ЧОМУ. Дякую.
Mark Rullo,

8

для Angular 6+ та> = RC.6

.html

<form [formGroup]="formGroup">
  <input type="text" formControlName="myName">
</form>

.ts

public formGroup: FormGroup;
this.formGroup.value.myName

також повинен працювати.





0

Ви можете зробити це наступними способами

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.