跳到主要内容

日历 Calendar

用于选择日期,或日期区间。

安装使用

{
// 原生小程序
"usingComponents": {
"ti-calendar": "@titian-design/weapp/calendar/index"
},
// titan-cli 搭建的项目
"usingComponents": {
"ti-calendar": "platform://titian-mp/ti-calendar"
}
}

用法示例

基础用法
code
copy
code
设置默认值
code
copy
code
多选
code
copy
code
设置边界
code
copy
code
受控模式
code
copy
code
选择范围
code
copy
code

ti-calendar API

属性 Properties

名称类型必填默认值说明备注
startWeekDayEnum'Sunday'从周几开始;参数类型 WeekDayEnum
modesingle | multiple | range'single'单选/多选/范围-
default-valuearray | string | numbernull默认值,传值则组件设置为非受控模式-
valuearray | string | numbernull值,则组件设置为受控模式-
min-datestring | number当天最小日期范围,可转 Date 即可-
max-datestring | number从当天起 6 个月最大日期范围,可转 Date 即可-
positiontop | bottom | left | rightbottom展示位置,透传给 popup.position-
close-on-maskbooleantrue点击遮罩关闭,透传给 popup.close-on-mask-
use-popupbooleantrue是否使用弹窗-
destroy-on-closebooleanfalse关闭后销毁组件,透传给 popup.destroyOnClose-
confirm-textstring确认确认文案;传空字符串''则不展示按钮-
visiblebooleanfalse是否展示,透传给 popup.visible-
allow-same-daybooleanfalse起止日期是否可用是同一天;range 模式下生效-
max-rangenumber0起止日期最大跨度天数; range 模式且大于 0 下生效-
max-sizenumber0最多可选天数 ; multiple 模式且大于 0 下生效-
colorstring#2580FF选中颜色值-
roundbooleanfalse圆角模式-
titlestring'选择日期'标题-
formatter(date: CalRenderDateProps) => CalRenderDatePropsnull格式化日历函数,参数类型 CalRenderDateProps-
mask-z-indexnumber10000遮罩 z-index 层级-
content-z-indexnumber10001内容 z-index 层级-
ext-stylestring''容器样式-

事件 Events

名称参数列表描述备注
bind:select(e: WechatMiniprogram.CustomEvent<{date: CalDateProps; currentDate: CalRenderDateProps[];}>) => void日历面板选择事件参数类型见 CalDatePropsCalRenderDateProps
bind:confirm(e: WechatMiniprogram.CustomEvent<CalRenderDateProps[]>) => void日历面板确认事件参数见 CalRenderDateProps
bind:close(e: WechatMiniprogram.CustomEvent) => void日历面板关闭事件-
error(e: WechatMiniprogram.CustomEvent<{error: CalErrorProps; date: CalDateProps; currentDate: CalRenderDateProps[]; }>) => void日历面板错误事件参数类型见 CalErrorPropsCalRenderDatePropsCalRenderDateProps

外部样式类 External Classes

类名说明备注
ext-popup-classpopup 容器样式,透传给 popup/ext-class-
ext-popup-mask-classpopup 遮罩样式,透传给 popup/ext-mask-class-
ext-popup-content-classpopup 内容样式,透传给 popup/ext-content-class-
ext-class日历组件容器样式-
ext-scroll-class日历组件滚动容器样式-

CSS 变量 CSS Variables

变量默认值说明
--calendar-popup-mask-bg-color默认值Popup 组件 --popup-mask-bg-color
--calendar-popup-radiustheme.borderRadius.r4Popup 组件 --popup-popup-radius
--calendar-popup-box-bg-colortheme.color.gray.background.defaultPopup 组件 --popup-box-bg-color
--calendar-scroll-height500px日历滚动区域高度
--calendar-week-height60px日历星期区域高度
--calendar-week-item-colorvar(--neutral-color-2, #757575)日历星期区域字体颜色
--calendar-title-height80px日历标题区域高度
--calendar-title-colortheme.color.gray.texticon.250日历标题区域字体颜色
--calendar-date-text-colortheme.color.gray.texticon.900日历时间区域日期字体颜色
--calendar-date-text-font-sizetheme.fontSize.t6日历时间区域日期字体字号
--calendar-date-text-font-weighttheme.fontWeight.regular日历时间区域日期字体字重(未选中)
--calendar-date-select-font-weighttheme.fontWeight.regular日历时间区域日期字体字重(选中)
--calendar-date-info-colorvar(--neutral-color-3, #9e9e9e)日历时间区域描述字体颜色
--calendar-date-select-colortheme.color.gray.texticon.invert日历时间区域选中字体颜色
--calendar-date-select-radiustheme.borderRadius.r2日历时间区域选中圆角
--calendar-date-disabled-colorvar(--neutral-color-4, #c4c4c4)日历时间区域禁用颜色
--calendar-date-margin-v10px日历时间区域垂直方向距离
--calendar-date-margin-h0px日历时间区域水平方向距离
--calendar-font-weight-semiboldtheme.fontWeight.semibold星期的文字字重
--calendar-tip-font-sizetheme.fontSize.t2天数上方描述文字大小
--calendar-tip-line-heighttheme.lineHeight.single.t4天数上方描述文字行高

数据结构 Data Structure

星期枚举 WeekDayEnum

含义备注
Sunday周日-
Monday周一-
Tuesday周二-
Wednesday周三-
Thursday周四-
Friday周五-
Saturday周六-

日期数据结构 CalDateProps

键名说明类型
date日期Date
time毫秒数number
yearnumber
monthmonth
daynumber
week星期number
full-date-num年月日,如20211231number
text文本string | number
status状态DateStatusEnum
top-info顶部文案string
bottom-info底部文案string

日期渲染数据结构 CalRenderDateProps

interface CalRenderDateProps extends CalDateProps {
parentIndex: number;
}

报错数据结构 CalErrorProps

interface CalErrorProps {
message: string;
type: 'maxSize' | 'maxRange' | 'disabled';
}

日期状态枚举 DateStatusEnum

枚举值说明
null无状态
disabled禁用
single单选选中状态
range_start范围选择:起始状态
range_full范围选择:起始时间与结束时间为同一天
range_end范围选择:结束状态
multiple孤立多选(无连接)
multiple_start多选(有连接) 起始状态
multiple_middle多选(有连接) 中间状态
mulitiple_end多选(有连接) 结束状态