最小日期和最大日期无法正常工作 Angular Material 范围输入

20

我有一个简单的表格,其中包含一个来自angular material的区间输入。但是[min]和[max]日期不起作用。我尝试在第一个输入框中,第二个输入框中以及两个输入框中都放入了日期,但是都没有效果。以下是我的代码:

 <mat-form-field appearance="outline" class="w-100">
        <mat-date-range-input [rangePicker]="picker" >
          <input matStartDate placeholder="Start date" formControlName="start" [min]="minDate" 
           [max]="maxDate">
          <input matEndDate placeholder="End date" formControlName="end" [min]="minDate" 
           [max]="maxDate">
        </mat-date-range-input>
        <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
        <mat-date-range-picker #picker></mat-date-range-picker>
      </mat-form-field>

我试图让最大值为今天,也就是说今天。

export class DateComponent implements OnInit, {
  minDate: Date;
  maxDate: Date;
 constructor(private formBuilder: FormBuilder) {
    const currentYear = new Date().getFullYear();
    this.minDate = new Date(currentYear - 20, 0, 1);
    this.maxDate = new Date();
    }
}

但是它没有起作用。

1个回答

38

Stackblitzhttps://stackblitz.com/edit/angular-g3nnqx?file=src/app/datepicker-min-max-example.html

<mat-form-field appearance="fill" >
        <mat-date-range-input [rangePicker]="picker" [min]="minDate" 
           [max]="maxDate" >
          <input matStartDate placeholder="Start date"    >
          <input matEndDate placeholder="End date"   >
        </mat-date-range-input>
        <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
        <mat-date-range-picker #picker></mat-date-range-picker>
      </mat-form-field>
当您使用rangePicker时,无法应用minmax到输入框中,因为这些是特定的选择器级别。您必须像设置rangePicker一样设置它们。
更多参考细节: https://material.angular.io/components/datepicker/overview

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接