日期选择器
Date Picker
UI 组件也叫:日期选择框、日历选择器、日期范围选择、DatePicker、RangePicker
一句话:点击输入框后弹出一个小日历,让用户点选日期或日期范围,避免手动输入格式不统一。
详细解释
日期选择器收起时像一个输入框,右侧有日历图标;点开后弹出小日历面板,可以切换年月、点选某一天,选完自动填入并收起。常见变体有选开始和结束两个日期的 范围选择、带时分秒的日期时间选择,以及只选月份或年份的选择器。面板上还常有「今天」「最近 7 天」这类快捷选项。
它的价值是统一格式、避免选到不存在的日期,还能禁用不可选的日期,比如预约不能选过去的日子。选生日这种离今天很远的日期时,要能直接切换年份或允许手动输入。它和 日历 不同:日历是铺在页面上展示日程和事件的大组件,日期选择器是表单里填日期的小控件。
示例
灰度线框示意,只表达结构,不代表具体视觉风格。
怎么跟 AI 说
可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。
订单列表顶部的筛选栏加一个日期范围选择器,左右两个框分别是开始日期和结束日期,点击后弹出并排两个月的日历面板。左侧提供「今天」「最近 7 天」「最近 30 天」快捷选项,不能选今天之后的日期,格式为 YYYY-MM-DD,可以一键清空。
结构与适用场景
结构描述
由显示日期的输入框、日历图标和点击后弹出的日历面板组成,面板含年月切换、日期格子和快捷选项。
适用场景
- 填写预约日期、出发日期、截止日期这类具体的某一天
- 在筛选栏里按时间段查询订单、日志等数据
- 需要禁止选择某些日期的场景,比如不能预约过去的时间或已约满的日子
不适用场景
- 需要在整月视图里查看和安排日程、事件时,应该用日历
- 只需要选年份或季度这类很粗的时间粒度时,用下拉选择更简单
- 填写几十年前的出生日期时,只能逐月翻页的日历面板很难用
常见坏用法
- 选生日只能一个月一个月往前翻,用户要点上百次
- 开始日期能选在结束日期之后,两个框之间没有做联动限制
- 用普通输入框让用户手动输入日期,格式五花八门,后端无法解析
识别特征
- 输入框右侧有一个日历小图标,框内是年-月-日格式的日期
- 点开后下方弹出带星期表头、7 列日期格子的小日历
- 范围选择是两个日期之间夹着「至」或箭头
DOM 线索
插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。
input[type="date"]input[type="datetime-local"]input[type="month"]input[type="week"].ant-picker.el-date-editor.arco-picker.t-date-picker.n-date-picker