Calendar 日历

日历组件,支持日期选择、范围选择、事件标记、自定义内容等多种用法。

基础用法
通过 v-model 绑定选中日期,支持月份和年份切换。
2026年6月
31
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
1
2
3
4

选中日期:2026-06-18

不同尺寸
提供 sm / md / lg 三种尺寸。

sm

2026年6月
31
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
1
2
3
4

md(默认)

2026年6月
31
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
1
2
3
4

lg

2026年6月
31
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
1
2
3
4
周起始日
通过 week-start 设置每周的第一天,0=周日(默认),1=周一,6=周六。

周日开始

2026年6月
31
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
1
2
3
4

周一开始

2026年6月
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
1
2
3
4
5
禁用日期
通过 disabled-date 函数禁用特定日期,禁用的日期不可选中且样式变灰。
2026年6月
31
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
1
2
3
4

周末(周六、周日)不可选

事件标记
通过 events 属性在日期下方显示彩色圆点标记,每个事件可设置不同颜色。
2026年6月
31
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
1
2
3
4

带有彩色圆点的日期表示有事件

范围选择
设置 mode 为 range 开启日期范围选择,点击两次分别选择起始和结束日期。
2026年6月
31
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
1
2
3
4

范围:未选择 ~ 未选择

自定义日期内容
使用 #cell 插槽自定义日期单元格内容,如显示日程信息。
2026年6月
31
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
1
2
3
4
年份快速选择
点击标题栏的年月文字可以打开年份选择面板,快速跳转到指定年份。
2026年6月
31
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
1
2
3
4

点击标题「2026年6月」可打开年份面板

在卡片中使用
搭配 Card 组件将日历嵌入卡片,实现更丰富的布局效果。
日程安排
2026年6月
31
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
1
2
3
4

Props

参数类型默认值说明
modelValueDatenew Date()当前选中日期
mode'date' | 'range''date'选择模式,date 为单日期,range 为范围选择
size'sm' | 'md' | 'lg''md'日历尺寸
weekStart0 | 1 | 60每周起始日,0=周日,1=周一,6=周六
disabledDate(date: Date) => boolean禁用日期判断函数,返回 true 则该日期不可选
eventsCalendarEvent[][]事件标记列表,每项包含 date(YYYY-MM-DD)、color、content
rangeStartDate范围选择起始日期(range 模式)
rangeEndDate范围选择结束日期(range 模式)

Events

事件名参数说明
update:modelValue(val: Date)日期变化时触发
change(val: Date)点击选中日期时触发
update:rangeStart(val: Date)范围起始日期变化时触发
update:rangeEnd(val: Date)范围结束日期变化时触发
rangeChange(start: Date | null, end: Date | null)范围选择变化时触发

Slots

插槽名说明
cell自定义日期单元格内容,参数 { date: Date, current: boolean }

Methods

方法名参数说明
prevMonth切换到上个月
nextMonth切换到下个月
prevYear切换到上一年
nextYear切换到下一年