Angular 团队发布了 Angular version 10 并更新了 Angular material 为 date picker 添加了一个新功能,这是我们很多人的功能等了这么久,一个日期范围!
今天我使用 saturn-datepicker,一个 npm 包,它也有一个 LINEAR 选项,如下例所示。
<sat-calendar
[rangeMode]="true"
(dateRangesChange)="inlineRangeChange($event)"
#inlineRangePicker
>
</sat-calendar>
这会将日历放在页面上,无需单击即可在弹出窗口中打开日历;
在 Angular Material 中,可以像这样使用 mat-calendar
来做同样的事情。
<mat-calendar>
</mat-calendar>
我的问题是如何像 saturn-datepicker 一样应用 [rangeMode]="true"
??
最佳答案
我刚刚查看了 MatCalendar 的最新源代码。 它不支持范围 - 顾名思义,它是实现日历的单个控件。
DatePicker 组件(单日期对话框)基本上封装了一个 MatCalendar 使其成为一个对话框。
新的 DateRangePicker 组件同样封装了两个 MatCalender 实例,并将它们呈现在一个对话框中。
因此,在这一点上,Material 似乎不提供内联日期范围选择器。
我唯一可以建议的是使用两个 MatCalender 实例创建您自己的组件,并查看 MatDateRangePicker 代码以了解如何处理两个日历之间的任何交互。
相关源代码可以在https://github.com/angular/components/tree/master/src/material找到
关于版本 10 上的 Angular Material 日期选择器(日期范围功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62730697/