Calendar 日历
展示日期。
基础用法
使用 value 指定当前展示的月份;未设置则展示当月。value 支持双向绑定。
2026 July
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
28 | 29 | 30 | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
控制器类型
可设置日历头部的控制器类型;为 select 时可通过 formatter 自定义 label。
2026 July
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
28 | 29 | 30 | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
自定义单元格内容
通过名为 date-cell 的作用域插槽自定义单元格展示。插槽作用域中可获取 date(当前单元格日期)、data(含 type、isSelected、day 等),详见下方 API。
2026 July
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
06-28 | 06-29 | 06-30 | 07-01 | 07-02 | 07-03 | 07-04 |
07-05 | 07-06 | 07-07 | 07-08 | 07-09 | 07-10 | 07-11 |
07-12 | 07-13 | 07-14 | 07-15 | 07-16 | 07-17 | 07-18 |
07-19 | 07-20 | 07-21 | 07-22 | 07-23 | 07-24 | 07-25 |
07-26 | 07-27 | 07-28 | 07-29 | 07-30 | 07-31 | 08-01 |
日期范围
使用 range 指定展示范围:开始须为周一,结束须为周日,跨度不超过两个月。
2019 March
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
自定义头部
Custom header content2026 July
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
28 | 29 | 30 | 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
国际化
默认语言为英文;若需其他语言请参考国际化。
日期时间相关文案(月份名、每周起始日等)也在本地化配置中设置。
日历 API
日历 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 绑定值 | Date | — |
| range | 时间范围(起止);开始须为一周起始日,结束须为一周结束日,跨度不超过两个月 | array | — |
| controller-type | 日历头部控制器类型 | enum | button |
| formatter | controller-type 为 select 时格式化标签 | Function | — |
日历 插槽
| 名称 | 说明 |
|---|---|
| date-cell | 自定义日期单元格。作用域参数包含 date 与 data:其中 data.type 表示日期所属月份(prev-month、current-month、next-month);data.isSelected 为是否选中;data.day 为 YYYY-MM-DD 字符串;data.date 为 Date 对象。 |
| header | 日历头部内容;作用域参数包含字符串 date。 |
日历 暴露
| 名称 | 说明 | 类型 |
|---|---|---|
| selectedDay | 当前选中日期 | object |
| pickDay | 选中指定日期 | Function |
| selectDate | 按类型切换日期 | Function |
| calculateValidatedDateRange | 根据起止日期计算合法范围 | Function |
类型声明
展开类型声明
ts
type CalendarDateType =
| 'prev-month'
| 'next-month'
| 'prev-year'
| 'next-year'
| 'today'