切换radiobatton时如何启用和禁用输入文件?

时间:2018-10-11 20:42:43

标签: html angular

我有一个表单,我需要根据单选按钮的位置来禁用和禁用相同表单的控制

<form [formGroup]="service.form" #signUpForm="ngForm" class="normal-form">
    --------------------------------------------------------------
    <mat-radio-group formControlName="role">
        <mat-radio-button value="1">Patient</mat-radio-button>
        <mat-radio-button value="2">Doctor</mat-radio-button>
     </mat-radio-group>
    --------------------------------------------------------------
    <input type="file" #Image accept="image/*" [disabled]="service.form.role==1">
</form>

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您不会在role上获得service.formservice.form将具有一个value属性,您将在此属性上获得此role属性。

只需使用service.form.value.role代替service.form.role

<form [formGroup]="form" #signUpForm="ngForm" class="normal-form">
    <mat-radio-group formControlName="role">
        <mat-radio-button value="1">Patient</mat-radio-button>
        <mat-radio-button value="2">Doctor</mat-radio-button>
     </mat-radio-group>
    <br>
    <input type="file" #Image accept="image/*" [disabled]="form.value.role==1">
</form>

这是您推荐的Sample Stackblitz

答案 1 :(得分:0)

只需提供对role元素的引用,并使用reference禁用和启用其他控件即可。

<form [formGroup]="service.form" #signUpForm="ngForm" class="normal-form">
    --------------------------------------------------------------
    <mat-radio-group #role formControlName="role">
        <mat-radio-button value="1">Patient</mat-radio-button>
        <mat-radio-button value="2">Doctor</mat-radio-button>
     </mat-radio-group>
    --------------------------------------------------------------
    <input type="file" #Image accept="image/*" [disabled]="role.value==1">
</form>