我有以下代码
if (this.myForm.value['isDefault'] === true)
其中isDefault是一个复选框FormControl。现在,如果选中此复选框,则期望this.myForm.value ['isDefault']的结果为true。当我发出警报时,它确实显示为true,但是这种比较不会得出true。
答案 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