Cách nhận một giá trị duy nhất từ ​​FormGroup


81

Tôi biết rằng tôi có thể nhận các giá trị của biểu mẫu bằng cách sử dụng

Tuy nhiên, JSON.stringify (this.formName.value), tôi muốn nhận một giá trị duy nhất từ ​​biểu mẫu.

Làm thế nào để làm điều đó?

Câu trả lời:


129

Bạn có thể nhận được giá trị như thế này

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

21
this.form.controls.email.valuecũng làm việc không có dấu ngoặc, nhưng nó vào bạn mà phong cách bạn thích
Simon_Weaver

Như đã nói bởi @Julia, nhận giá trị bằng phương thức "get ()" tốt hơn điều này.
Kavinda Jayakody


16

Ký hiệu dấu chấm sẽ phá vỡ việc kiểm tra kiểu, chuyển sang ký hiệu dấu ngoặc. Bạn cũng có thể thử sử dụng phương thức get (). Nó cũng giữ cho việc biên dịch AOT một cách tinh tế mà tôi đã đọc.

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

1
Tôi đồng tình với các .get()phương pháp, tuy nhiên cần phải chấm dứt với .valuetôi nghĩ:this.form.get('controlName').value
rynop

1
Tôi đánh giá cao câu trả lời này vì nó đưa ra lý do TẠI SAO. Cảm ơn bạn.
Mark Rullo

8

cho Angular 6+ và> = RC.6

.html

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

.ts

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

cũng nên hoạt động.





0

Bạn có thể thực hiện bằng những cách sau

this.your_form.getRawValue()['formcontrolname]
this.your_form.value['formcontrolname]
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.