如何解决如何使用Angular Material启用/禁用特定日期的Angular日期选择器?
我需要显示开始日期和结束日期的日期,即如果开始日期是dd/mm/yyyy
格式10/09/2020
,而结束日期应该是昨天,即09/09/2020
和所有剩余的日期都应禁用。
我该如何实现?
<mat-form-field color="accent" appearance="fill">
<mat-label>Start Date</mat-label>
<input matInput [matDatepicker]="picker1" [max]="tomorrow" [formControl]="startDate">
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1></mat-datepicker>
</mat-form-field>
<mat-form-field color="accent" appearance="fill">
<mat-label>End Date</mat-label>
<input matInput [matDatepicker]="picker2" [min]="today" max="tomorrow" [formControl]="endDate">
<mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
<mat-datepicker #picker2></mat-datepicker>
</mat-form-field>
解决方法
您可以使用过滤器验证。
<mat-form-field class="example-full-width" appearance="fill">
<mat-label>Choose a date</mat-label>
<input matInput [matDatepickerFilter]="myFilter" [matDatepicker]="picker">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
import {Component} from '@angular/core';
/** @title Datepicker with filter validation */
@Component({
selector: 'datepicker-filter-example',templateUrl: 'datepicker-filter-example.html',})
export class DatepickerFilterExample {
myFilter = (d: Date | null): boolean => {
const day = (d || new Date()).getDay();
// Prevent Saturday and Sunday from being selected.
return day !== 0 && day !== 6;
}
}
官方文档here
中的示例 ,我想说。在.ts
today=new Date();
tomorrow=new Date(this.today.getTime()+24*60*60*1000);
.html
<input matInput [matDatepicker]="picker" [min]="today" [max]="tomorrow">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。