为什么Angular FormControl在取消选中后会保留复选框值?

时间:2018-04-27 17:45:40

标签: angular angular-reactive-forms

我正在使用类似于角度提供的动态表单example的代码动态呈现反应式表单,但尝试实现复选框。当复选框值保留为空并且提交表单时,cb控件值为null,这很好:

Initial blank cb

如果我然后检查它,该值将成为模板中绑定的值,在本例中为静态/硬编码“true”:

cb checked

到目前为止,这么好,但如果我取消选中复选框并重新提交,它仍然具有“true”的值 - 什么? (是的,我在取消选中框后点击了提交按钮 - 几次)

cb holds value when unchecked

以下是呈现表单的模板:

<div [formGroup]="form">
<label [attr.for]="question.key">{{question.label}}</label>

<div [ngSwitch]="question.kind">

  <input *ngSwitchCase="'textbox'" 
    [formControlName]="question.key"
    [id]="question.key" 
    [type]="question.kind">

  <input *ngSwitchCase="'checkbox'"
    [formControlName]="question.key"
    [id]="question.key"
    [type]="question.kind"
    [value]="true">
</div> 

0 个答案:

没有答案