feat(MatDatePicker): DateRange should implement min/max duration
- 主要语言
- TypeScript
- 星标
- 25k
- 派生
- 6.8k
- 平均合并
- 1 天 8 小时
- 30 天内合并 PR
- 91
描述
#### Feature Description
I would like to use date picker to allow a user to pick any number of days from 1-7, but no more than 7.
This could be implemented by adding a minimum (default: 1) and maximum (default: unlimited) duration values to the DateRange type.
If the minimum duration is not default:
- create greyed-out preview overlay of end values less than the minimum duration but not before the start value. Selecting a value within the minimum duration or before the start date should reset the start date to new date.
If the maximum duration is not default:
- create a preview up to the maximum duration. Selecting value beyond the maximum duration becomes new start date.
Example with (min 3 days, max 7 days) might look like something this:

(this is only to illustrate, I'm not a UI designer or anything)
#### Use Case
Currently, I must have the user use a dropdown to pick their duration first (which informs a MatDateRangeSelectionStrategy), and then use the date picker to select a start date.

Would very much like to get rid of the dropdown.
贡献指南
调研方向
首先阅读 issue 中描述的 MatDatePicker 日期范围行为和 MatDateRangeSelectionStrategy。定义并验证最短和最长持续时间的行为,包括预览 overlay,以及当选择超出允许范围时重置开始日期。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- angular, typescript
- 领域
- frontend
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100