Angular 8: проблема с mat-datepicker. Я пытаюсь использовать [startAt], чтобы запретить выбирать дату раньше сегодняшнего дня

У меня есть два datepicker в форме Angular 8. Я хотел бы отключить даты, предшествующие дате использования формы. Но я не нахожу решения. По умолчанию выбранная дата - сегодняшняя дата, но я все еще могу выбрать дату в прошлом.

В create-project.component.html:

<mat-form-field>
  <mat-label for="date">Starting date</mat-label>
  <input matInput [matDatepicker]="date" placeholder="Choose a starting date" formControlName="date">
  <mat-datepicker-toggle matSuffix [for]="date"></mat-datepicker-toggle>
  <mat-datepicker #date [startAt]="startDate"></mat-datepicker>
  <mat-error *ngIf="form.controls['date'].invalid">{{getErrorMessage('date')}}</mat-error>
</mat-form-field>

В ц:

export class CreateProjectComponent implements OnInit {
  startDate = new Date();
}

Спасибо за вашу помощь

1 ответ

Вместо использования startAt в mat-datepicker используйте min во входном теге.

.html

<mat-form-field>
  <mat-label for="date">Starting date</mat-label>
  <input matInput [matDatepicker]="date" [min]="startDate" placeholder="Choose a starting date" formControlName="date">
  <mat-datepicker-toggle matSuffix [for]="date"></mat-datepicker-toggle>
  <mat-datepicker #date></mat-datepicker>
  <mat-error *ngIf="form.controls['date'].invalid">{{getErrorMessage('date')}}</mat-error>
</mat-form-field>
Другие вопросы по тегам