ngIf 中的 formcontrol 或为 datepicker 设置最小日期

formcontrol in a ngIf or setting min date for datepicker

我不知道如何使用 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 问候语。我希望我的日期选择器中的开始日期值能够控制上面日期选择器中的 minDate。 但是由于 formcontrols 是异步的,我不知道该怎么做,而且我找不到示例。

感谢您的帮助!

可以使用formcontrol值

<div *ngIf="someForm.controls.name.value" id="hello">hello</div>

<input matInput [min]="someForm.controls.startDate.value" [matDatepicker]="picker">