ngIf中的表单控件或设置日期选择器的最小日期



我不知道如何使用formcontrol值来控制另一个元素的显示。我知道使用ngModel,但这不是一个选项。基本上,我有不同的元素,我需要使用另一个表单项的值来控制这些元素中的东西。这里有一个例子:

<mat-form-field class="example-full-width" appearance="fill">
<mat-label>Choose a date</mat-label>
<input matInput [min]="minDate" [matDatepicker]="picker">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
<div *ngIf="isShow" id="hello">hello</div>

<mat-checkbox formControlName="name">name</mat-checkbox>
<mat-form-field appearance="outline">
<mat-label>Start date:</mat-label>
<!-- #docregion toggle -->
<input matInput [matDatepicker]="startpicker" formControlName="startDate">
<mat-datepicker-toggle matSuffix [for]="startpicker"></mat-datepicker-toggle>
<mat-datepicker #startpicker></mat-datepicker>
<!-- #enddocregion toggle -->
</mat-form-field>

因此在本例中,我希望选中复选框名称来控制是否显示div hello。我希望我的日期选择器中的开始日期值能够控制上面日期选择器的minDate。但由于表单控件是异步的,我不知道如何做到这一点,也找不到示例。

谢谢你的帮助!

您可以使用表单控制值

<div *ngIf="someForm.controls.name.value" id="hello">hello</div>
<input matInput [min]="someForm.controls.startDate.value" [matDatepicker]="picker">

最新更新