FormControl 在 Angular 2 中返回空值

问题描述 投票:0回答:3

我正在使用表格

<form [formGroup]="form">
    <input type="text" value={{userDetails.first_name}} formControlName = "firstName">
    <button type="submit" data-action="save" (click)="onSubmit(form.value)">
</form>

这里

userDetails.first_name
值是 Tom。它在 UI 上的文本框内可见;但是当我提交表单时,
form.firstName
给了我空值。

angular angular2-forms angular2-services
3个回答
0
投票

要获取该值,您应该检查

form.value.firstName
而不是
form.firstName

要更好地了解表单的结构,请在表单提交上执行

console.log(this.form)


0
投票

声明表单组:

private userForm: FormGroup;

像这样初始化用户表单:

  userForm = form.group({
          firstName:  [firstName, [Validators.required]]
        });

像这样在 HTML 中声明您的表单:

 <form class="example-form " [formGroup]="userForm"
                  (ngSubmit)="onSubmit(userForm)">
    <input type="text" value={{userDetails.firstName}} formControlName = 
      "firstName">
    <button type="submit" data-action="save"/>
 </form>

像这样创建你的 onSubmit() 方法:

onSubmit({formValue, valid}: { formValue: UserDetails, valid: boolean }) {
    const firstName= value.firstName;
 }

0
投票

html

<form [formGroup]="form">
    <input type="text" formControlName="firstName">
    <button type="submit" data-action="save" (click)="onSubmit(form.value)">
</form>

组件

你可以这样设置值

this.form.patchValue({firstName:this.userDetails.first_name});

确保将表单 Group 的实例创建到组件中

© www.soinside.com 2019 - 2024. All rights reserved.