Angular2如何获取反应形式的输入类型值

前端之家收集整理的这篇文章主要介绍了Angular2如何获取反应形式的输入类型值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建有角度的反应形式.我有简单的单选按钮,性别名称

this._form = this._formBuilder.group({
            gender: ['',Validators.required]
        });

模板:

<div class="form-group">
                <h4>What is your gender?</h4>
                <div class="form-group">
                    <label class="custom-control custom-radio">
                        <input value="male" name="gender" type="radio" class="custom-control-input" formControlName="gender">
                        <span class="custom-control-indicator"></span>
                        <span class="custom-control-description">Male</span>
                    </label>
                    <label class="custom-control custom-radio">
                        <input value="female" name="gender" type="radio" class="custom-control-input" formControlName="gender">
                        <span class="custom-control-indicator"></span>
                        <span class="custom-control-description">Female</span>
                    </label>
                    <app-field-error-display [displayError]="formValidationService.IsFieldInvalid(_form,'gender','required')" errorMsg="Field is required"></app-field-error-display>
                </div>
            </div>

我可以按名称访问控制字段,如下所示:

public GetControl(form: FormGroup,field: string){
        return form.get(field);
    }

基于此,如何访问type =“radio”的属性值?我想知道输入控件是否是无线电类型.

解决方法

我认为你应该使用JavaScript原生,所以在你的通用GetControl函数中写这个:

public GetControl(form: FormGroup,field: string){
    let el = document.querySelector('input[name="'+field+'"]');
    if(el.getAttribute('type') == 'radio'){
        // This is a radio input
    }
    return form.get(field);
}

猜你在找的Angularjs相关文章