Jak uzyskać pojedynczą wartość z FormGroup


86

Wiem, że mogę uzyskać wartości formularza za pomocą

JSON.stringify (this.formName.value) jednak chcę uzyskać pojedynczą wartość z formularza.

Jak mam to zrobić?

Odpowiedzi:


135

Możesz uzyskać taką wartość

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

23
this.form.controls.email.valuedziała również bez nawiasów, ale od Ciebie zależy, jaki styl wolisz
Simon_Weaver

Jak powiedział @Julia, uzyskanie wartości metodą „get ()” jest lepsze niż to.
Kavinda Jayakody


20

Notacja z kropką przerywa sprawdzanie typu, przełącza się na notację nawiasów. Możesz także spróbować użyć metody get (). Utrzymuje również kompilację AOT, którą przeczytałem.

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

1
Zgadzam się z .get()metodą, ale .valuemyślę , że muszę skończyć :this.form.get('controlName').value
rynop

1
Doceniam tę odpowiedź, ponieważ podaje DLACZEGO. Dziękuję Ci.
Mark Rullo

8

dla Angular 6+ i> = RC.6

.html

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

.ts

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

powinien również działać.





0

Możesz to zrobić na następujące sposoby

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.