【发布时间】:2020-12-30 12:52:47
【问题描述】:
预期行为: 从 json 文件生成一组多项选择题。每个问题应包含无线电输入形式的多个选项。您一次只能选择一个选项。
预期行为 -
实际行为: 一切看起来都是正确的,直到您单击单选按钮,然后单击另一个按钮,它不会取消选择前一个按钮。如果您继续单击并且无法取消选择其中任何一个,则最终可能会选择每个选项。
实际行为-
代码分解:
它的基础是 Review 组件,我们在其中循环一系列问题并为每个问题生成一个问题组件。我们还构建 FormGroup 并传递它。每个 Question 组件都以完全相同的方式生成多个 Option 组件。每个 Option 组件都包含一个<input type="radio"> 和一个<label>
stackblitz.com/edit/angular-dynamically-generated-radio-buttons
观察:
在 Option 组件的 html 中,如果我从 <input> 中删除 [formControlName]="name",那么它会纠正我遇到的问题,但这是响应式表单不可或缺的。我一定是在这里做错了什么,但对于我的生活,我无法弄清楚。它的行为就像每个选项都有自己的表单控件,或者至少是我想象的那样。
您可以在下面看到表单组的日志,以及问题 1:选项 1&2 的 html。据我所知,它应该是这样的。请帮忙!
FormGroup 的日志 -
问题1、选项1&2的html -
【问题讨论】:
标签: angular dynamic radio-button angular-reactive-forms