我正在处理一个formArrayName的表单,我希望在其中使用单选按钮。问题是所有这些单选按钮都具有相同的名称,所以当我点击一个按钮时,所有其他单选按钮都会关闭。
如果我给单选按钮指定一个带索引(name[i]
)的名称,我会收到错误消息:
platform-browser.umd.js:1900 ORIGINAL EXCEPTION: If you define both a name and a formControlName attribute on your radio button, their values must match. Ex: <input type="radio" formControlName="food" name="food">
我无法找到解决方法。我无法为init函数提供索引,因为数组的索引可能会发生变化。以下是我的代码示例:
编辑:制作了一个Plunker示例:http://plnkr.co/edit/o2ZxAFsuhD0F7OKevqei?p=preview
有人能帮助我吗?
答案 0 :(得分:2)
你需要让angular设置输入的name
属性:
<input type="radio" [attr.name]="'sex' + i" value="male"> male
<input type="radio" [attr.name]="'sex' + i" value="female"> female
答案 1 :(得分:1)
离开名称属性为我解决了问题。
答案 2 :(得分:-1)
如果不使用多个form
元素,在技术上似乎是不可能的。