组件 · 基础
DatePicker
日期选择:给任务设截止日期、开始日期。上面一排快捷选项,下面是月历。
调用方提供:value(YYYY-MM-DD,无日期为 null)、onChange(传回 YYYY-MM-DD 或 null)、可选的 min / max、locale(默认取页面的 lang)、firstDay(一周从哪天开始,0 是周日,默认 1)、quick(快捷选项,默认「今天」「明天」「下周一」「无日期」)、label。底部的按钮(如「清除」「设置时间」)放在 children 里。
行为:月份名和星期用 Intl.DateTimeFormat 按语言显示,日期按钮读出完整日期。方向键按天移动(从右往左时左右对调),上下按周,Page Up / Page Down 按月,Home / End 到本周两端,Enter 选中。今天加描边,选中的日期用品牌色填充,范围外的日期不可选。
写法
- 快捷选项写相对日期,选中后在任务上显示具体日期(「11月5日 周四」)。
- 一周从哪天开始跟随地区:中国大陆和欧洲是周一,美国、日本是周日,中东是周六。
- 历法一律用公历(见「多语言与从右往左」)。
Flutter:主题里已经设好 datePickerTheme;BiDatePickerPanel(value:, onChanged:, firstDate:, lastDate:) 是快捷选项加 CalendarDatePicker,也可以直接用 showDatePicker。