在Angular反应形式中读取复选框FormControl值

时间:2019-06-27 15:39:06

标签: javascript angular typescript angular-reactive-forms

我有以下代码

if (this.myForm.value['isDefault'] === true)

其中isDefault是一个复选框FormControl。现在,如果选中此复选框,则期望this.myForm.value ['isDefault']的结果为true。当我发出警报时,它确实显示为true,但是这种比较不会得出true。

2 个答案:

答案 0 :(得分:1)

您需要重新检查表格和TS文件中的代码。我复制它仍然可以正常工作。

HTML

<div class="container">
    <div>
        <form [formGroup]="theForm" (submit)="check()">
            Check? <input type='checkbox' formControlName="firstCheck"/>
  <input type="submit" value="check">
    </form>
    </div>

</div>

TS

export class AppComponent {

  theForm: FormGroup;
  constructor(private fb: FormBuilder) {
    this.theForm = fb.group({
      firstCheck: false
    })
  }

  check() {
    console.log(this.theForm.value['firstCheck'] === true)
  }
}

演示https://stackblitz.com/edit/checkbox-reactive-aagwtp?file=app%2Fapp.component.ts

答案 1 :(得分:1)

如果要使用表单控件的值,还可以使用form.get('key').value进行访问。

我分叉了@Hien Nguyen的stckblitz:

引用:https://stackblitz.com/edit/checkbox-reactive-hdwhsj?file=app/app.component.ts

所以我会使用:this.myForm.get('isDefault').value