【问题标题】:how can disable angular material date picker between to date如何在日期之间禁用角度材料日期选择器
【发布时间】:2021-05-31 23:59:53
【问题描述】:

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

我写了这段代码:

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

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

但它不起作用。

Demo

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

【问题讨论】:

标签: javascript angular angular-material


【解决方案1】:

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

your.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>

your.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()]
    });
  }
}

它会解决您的问题。

【讨论】:

  • 谢谢兄弟的投票。但我仍然有这个问题。我可以选择 2011 年到 2020 年之间的日期我想要的日期之间不能选择
  • 哦,我没有正确回答问题,给我 5 分钟,我会解决你的问题
  • 对不起@Mr-Programer 你的问题没有解决它是不可能的。因为我们没有设置低于当前日期的最大日期。
  • 你需要使用两个下拉菜单
  • 你好@Mr-Programer 我改变了我的答案。您可以选择两个不同的日期选择器,然后您的疑虑得到解决
猜你喜欢
  • 1970-01-01
  • 2016-12-06
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
相关资源
最近更新 更多