TUI

TsCalendar 日历组件
提供日历、日历选择器、月份选择器、数据拓展渲染、悬浮窗等功能的日历展示组件。
基础用法
展示一个最简单的日历组件。
2026年
2月
回到今天
示例代码
vue
默认选中与阴影
设置 defaultValue 选中某一天,并开启 shadow 阴影。
2026年
2月
回到今天
示例代码
vue
显示月份详情
通过 changeonMonthChange 获取月份详情数据来打造自己的个性化月份数据展示。
2026年
2月
回到今天
本月假期天数 天
本月工作天数 天
示例代码
vue
开启悬浮提示
通过 showTooltip 开启 hover 悬浮提示内容。或者 CalendarDay enableTip 字段精细到每一天开启。
2026年
2月
回到今天
示例代码
vue
自定义节假日
通过 extensions 传入自定义节假日数据,渲染名称、状态等信息。
以 2025 年 1 月 1 日节假日数据作为展示。
2026年
2月
回到今天
示例代码
vue
属性 Props
属性名
说明
类型
可选值
默认值
版本说明
defaultValue
当前选中日期
string | Date | null
null
showTooltip
是否显示提示
boolean
true / false
false
tooltipOffset
提示框偏移量,基于最终渲染位置进行位移
[number, number]
-
[0, -5]
shadow
是否显示阴影边框
boolean | string | null
true / "" / null
false
extensions
年假数据
CalendarExtensions
{}
added 0.3.9
externalCalendarMap
年假数据
ExternalCalendarMap
{}
deprecated 0.3.9
事件 Events
事件名
说明
回调参数
版本说明
change
选中日期
(value: CalendarDay, isInit: boolean) => void
onMonthChange
选中日期
(value: MonthChangePayload) => void
插槽 Slots
插槽名
说明
版本说明
tooltip
自定义 tooltip 内容
CalendarExtensions Type
属性名
说明
类型
格式
可选值
默认值
year
年份
string
YYYY
[year: string]: { [month in Month]?: ExternalDay[]; }
CalendarDay Type
属性名
说明
类型
格式
可选值
默认值
date
年份,例如2025-10-05
string
YYYY-MM-DD
-
name
显示名称,例如“国庆节”
string
-
type
控制样式/标签
CalendarStatus
normal / holiday / workday / weekend
badgeText
右上角标签
string
-
tooltip
是否显示悬浮提示
boolean
-
tooltipText
悬浮提示
string
-
lunarName
农历名称
string
-
CalendarDay extends ExternalDay Type
属性名
说明
类型
格式
可选值
默认值
year
年份
string
YYYY
-
month
月份
string
MM
-
day
日期
number
DD
-
week
星期
number
1~7
nameCn
中文名称
string
-
yearCn
中文年份日期
string
-
monthCn
中文月份日期
string
-
dayCn
中文日期
string
-
animal
生肖
string
-
term
节气
boolean
-
MonthChangePayload Type
属性名
说明
类型
格式
可选值
默认值
year
年份
string
YYYY
-
month
月份
string
MM
-
monthDays
当前月所有日期(已经合并外部标记)
CalendarDay[]
-
基础用法
默认选中与阴影
显示月份详情
开启悬浮提示
自定义节假日
属性 Props
事件 Events
插槽 Slots
CalendarExtensions Type
CalendarDay Type
CalendarDay extends ExternalDay Type
MonthChangePayload Type