0

我想在两个日期之间禁用选定的角度材料。例如,用户不能选择 和 之间的任何 2021-03-02日期2011-03-02

我写了这段代码:

 <input matInput [max]="maxDate" [min]="minDate" [matDatepicker]="picker6"/>

maxDate = new Date();
minDate =new Date().setFullYear(this.maxDate.getFullYear() - 10) 

但它没有用。

演示

有什么问题 ?我该如何解决这个问题???

4

1 回答 1

1

请将您的 html 文件替换为以下内容

你的.component.html

<mat-form-field>
    <mat-label>Choose Start date</mat-label>
    <input matInput [max]="unavailabilityForm.controls.startDate.value" [matDatepicker]="picker1" />
    <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
    <mat-datepicker [dateClass]="dateClass" #picker1></mat-datepicker>
</mat-form-field>

<mat-form-field class="example-full-width" appearance="fill">
    <mat-label>Choose End date</mat-label>
    <input matInput [min]="unavailabilityForm.controls.endDate.value" [matDatepicker]="picker" />
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker [dateClass]="dateClass" #picker></mat-datepicker>
</mat-form-field>

你的.component.ts

import { Component, OnInit, ViewEncapsulation } from "@angular/core";
import { FormBuilder } from "@angular/forms";

/** @title Datepicker with custom date classes */
@Component({
  selector: "datepicker-date-class-example",
  templateUrl: "datepicker-date-class-example.html",
  styleUrls: ["datepicker-date-class-example.css"],
  encapsulation: ViewEncapsulation.None
})
export class DatepickerDateClassExample implements OnInit {
  unavailabilityForm: any;
  maxDate = new Date();

  constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
    let startDateTimeStamp = new Date().setFullYear(new Date().getFullYear() - 10);
    this.unavailabilityForm = this.formBuilder.group({
      startDate: [new Date(startDateTimeStamp)],
      endDate: [new Date()]
    });
  }
}

它将解决您的担忧。

于 2021-03-02T13:18:19.267 回答