angular2中的单选按钮未按预期工作

angular2中的单选按钮未按预期工作,angular,Angular,嗨…我有一个表格里面有单选按钮。在这个对话框中有两组单选按钮 1.用于从列表中选择首选电话 2.从列表中选择首选电子邮件 当我在手机中选择一个单选选项时,它会显示true,但如果我在emails组中选择单选按钮,则手机中的选定值将设置为false…我在这里制作了一个plunker演示 这就是我访问单选按钮值并分配给主控制组的方式……有人请帮助我在这种情况下如何正确获取单选按钮值众所周知,同一控制组中的多个单选按钮不起作用 来自cur3n4的这一点显示了一种解决方法 import {RadioCo

嗨…我有一个表格里面有单选按钮。在这个对话框中有两组单选按钮

1.用于从列表中选择首选电话

2.从列表中选择首选电子邮件

当我在手机中选择一个单选选项时,它会显示true,但如果我在emails组中选择单选按钮,则手机中的选定值将设置为false…我在这里制作了一个plunker演示


这就是我访问单选按钮值并分配给主控制组的方式……有人请帮助我在这种情况下如何正确获取单选按钮值

众所周知,同一控制组中的多个单选按钮不起作用

来自cur3n4的这一点显示了一种解决方法

import {RadioControlRegistry, RadioControlValueAccessor} from 'angular2/src/common/forms/directives/radio_control_value_accessor';

// TODO Monkey patching Radio buttons until https://github.com/angular/angular/issues/7051 is fixed
export class CustomRadioControlRegistry extends RadioControlRegistry {

    select(accessor: RadioControlValueAccessor) {
        (<any>this)._accessors.forEach((c) => {
            if (c[0].control.root === accessor._control.control.root
              && c[1] !== accessor && c[1]._elementRef.nativeElement.name === (<any>accessor)._elementRef.nativeElement.name) {
              c[1].fireUncheck();
            }
        });
    }
}
从'angular2/src/common/forms/directives/radio_control_value_accessor'导入{RadioControlRegistry,RadioControlValueAccessor};
//TODO猴子修补单选按钮,直到https://github.com/angular/angular/issues/7051 是固定的
导出类CustomRadioControlRegistry扩展RadioControlRegistry{
选择(访问器:RadioControlValueAccessor){
(这个)。\u accessors.forEach((c)=>{
if(c[0].control.root==accessor.\u control.control.root
&&c[1]!==访问器和&c[1]。\u elementRef.nativeElement.name==(访问器)。\u elementRef.nativeElement.name){
c[1].fireUncheck();
}
});
}
}
然后在引导应用程序时,我将用我的实现替换
RadioControlRegistry
provide(RadioControlRegistry,{useClass:CustomRadioControlRegistry})


哦…我不知道这个问题…谢谢@GunterI我自己还没有尝试过解决方法,但看起来很有希望。你提到的替代方法非常有效,但我不想在我的应用程序中添加此代码,因为它会导致依赖性…我将等待angular解决此问题
import {RadioControlRegistry, RadioControlValueAccessor} from 'angular2/src/common/forms/directives/radio_control_value_accessor';

// TODO Monkey patching Radio buttons until https://github.com/angular/angular/issues/7051 is fixed
export class CustomRadioControlRegistry extends RadioControlRegistry {

    select(accessor: RadioControlValueAccessor) {
        (<any>this)._accessors.forEach((c) => {
            if (c[0].control.root === accessor._control.control.root
              && c[1] !== accessor && c[1]._elementRef.nativeElement.name === (<any>accessor)._elementRef.nativeElement.name) {
              c[1].fireUncheck();
            }
        });
    }
}