我无法使用Angular6反应表单中嵌入的select在隐藏和显示控件之间切换。我希望当用户在garde表单controll中选择option3时,显示name表单controll。
this.form = this.fb.group({
id: [null, Validators.compose([Validators.required])],
name: [null, Validators.compose([Validators.required])],
grade: [null, Validators.compose([Validators.required])],
});
.html
<mat-form-field class="mb-1">
<input matInput " [formControl]="form.controls['id']">
</mat-form-field>
<mat-form-field class="mb-1">
<mat-select [formControl]="form.controls['grade']">
<mat-option value="option1">option1</mat-option>
<mat-option value="option2">option2</mat-option>
<mat-option value="option3">option3</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field class="mb-1">
<input matInput " [formControl]="form.controls['name']">
</mat-form-field>
最快的解决方案是,尽管不是很优雅:
<mat-form-field class="mb-1" *ngIf="form.controls['grade'].value == 'option3'">
<input matInput [formControl]="form.controls['name']">
</mat-form-field>