我是Angular 4的新手,我正在学习angular.io的文档。
当我尝试向动态表单添加复选框时,表单未加载。
这是我的代码的链接 - Link
我添加了2个复选框组和1个单选按钮组,但只加载了第一个复选框组,其余元素未加载。
答案 0 :(得分:1)
您必须将[formControlName] =“question.key”设置为输入标记,而不是div元素。 您可以在Chrome WebDeveloperTools中看到错误:没有名称为'flightRules'的表单控件的值访问器。
<div [id]="question.key" *ngSwitchCase="'checkbox'" >
<span *ngFor="let opt of question.options">
<label>
<input [type]="question.controlType" [value]="opt.value" [formControlName]="question.key">
{{opt.value}}
</label>
</span>
</div>
<div [id]="question.key" *ngSwitchCase="'radio'">
<span *ngFor="let opt of question.options">
<label>
<input [type]="question.controlType" [value]="opt.value" [formControlName]="question.key">
{{opt.value}}
</label>
</span>
</div>
请参阅分叉链接:Link