【发布时间】:2021-05-05 12:20:23
【问题描述】:
假设我在 Angular 组件中有以下表单。 3 个表单控件是单选按钮:
form = new FormGroup({
formControl: new FormControl(),
formControl2: new FormControl(),
formControlName: new FormControl()
});
在模板上创建单选按钮时,我见过的所有示例都使用[formControlName],如下所示:
<form [formGroup]="form">
<input
type="radio"
id="formControlNameTrue"
[formControlName]="'formControlName'"
[value]="true"
>
<label for="formControlNameTrue">FCN True</label>
</form>
但是,我想改用[formControl]:
<input
type="radio"
id="formControlTrue"
[formControl]="formControl"
[value]="true"
>
<label for="formControlTrue">FC True</label>
问题在于,当使用[formControl] 方法使用2 个或更多单选按钮时,模板无法正确显示控件的值。在下面的屏幕截图中,我用鼠标选择了“FC True”,然后选择了“FC2 False”。这两个控件都是使用[formControl] 构建的。结果如下:
有关完整代码,请参阅以下 stackblitz:https://stackblitz.com/edit/angular-3gbgbp。
有没有办法只用[formControl] 创建一个单选按钮?如果不是,这是预期行为还是可能是错误?
【问题讨论】:
-
[formControl]="form.get('formControl')",但是remove这个[value],value就是formControl的值 -
[value]是指定当您选择该单选按钮时 FormControl 将具有的值所必需的。 -
抱歉,您是对的 - 我将复选框与单选按钮混合在一起,抱歉
标签: angular radio-button angular-reactive-forms angular-forms