我有一个表单,我需要根据单选按钮的位置来禁用和禁用相同表单的控制
<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>
我该怎么做?
答案 0 :(得分:2)
您不会在role
上获得service.form
。 service.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>