在角度2中选择的默认单选按钮上显示初始页面加载的输入表单控件

时间:2017-03-25 14:42:04

标签: angular

我有一个页面,我根据单选按钮选择显示文本框控件。当我从一个单选按钮切换到另一个单选按钮时,我能够显示文本框。在我的代码中,我有单选按钮"男性"默认选择,如何在页面初始加载时默认显示第一个输入控件。

HTML页面

<div class="radio">
            <label>
                <input type="radio" name="gender" value="Male" [formControl]="complexForm.controls['gender']" (click)="setradio('Male')" checked="checked">
                Male
            </label>
        </div>

        <div class="radio">
            <label>
                <input type="radio" name="gender" value="Female" [formControl]="complexForm.controls['gender']" (click)="setradio('Female')">
                Female
            </label>
        </div>

        <!--<div *ngIf="edited">-->


            <div *ngIf="isSelected('Male')" >
                <input type="text"/>test   
            </div>

            <div *ngIf="isSelected('Female')">
                <input type="text"/> test2
            </div>

组件类:

private selectedLink: string;
setradio(e: string): void {

    this.selectedLink = e;        
}

isSelected(name: string): boolean {

    if (!this.selectedLink) { 
        return false;
    }

    return (this.selectedLink === name); 
}

我已尝试将*ngIf="isSelected('Male')=='true'的默认值设为true,但它无法正常工作。还有其他方法可以在页面加载时显示输入控件。

1 个答案:

答案 0 :(得分:1)

private selectedLink: string = 'Male';

首次加载模板时,会检查第一个控件。如果您最初设置selectedLink='Male'第一个输入,则会显示相同的内容。