Skip to content

Calendar 日历

calendar

规则

日期选择

js
{
    type: 'calendar',
    title: '日期选择',
    field: 'Calendar1',
    value: '2024-06-11',
    props: {
        placeholder: '请选择',
    }
}

日期多选

js
{
    type: 'calendar',
    title: '日期多选',
    field: 'Calendar2',
    value: ['2024-06-11', '2024-07-11', '2024-07-12'],
    props: {
        type: 'multiple',
        placeholder: '请选择',
        minDate: '2024-06-10'
    },
}

日期区间选择

js
{
    type: 'calendar',
    title: '日期区间',
    field: 'Calendar3',
    value: ['2024-06-11', '2024-07-11'],
    props: {
        type: 'range',
        placeholder: '请选择'
    }
}

参考:Vant_Calendar

value :String|String[]

Props

参数说明类型默认值
type选择类型: single 表示选择单个日期, multiple 表示选择多个日期, range 表示选择日期区间stringsingle
switch-mode v4.9.0切换模式: none 平铺展示所有月份,不展示切换按钮, month 支持按月切换,展示上个月/下个月按钮, year-month 支持按年切换,也支持按月切换,展示上一年/下一年,上个月/下个月按钮stringnone
title日历标题string日期选择
color主题色,对底部按钮和选中日期生效string#1989fa
disabled是否禁用输入booleanfalse
min-date可选择的最小日期Dateswitch-modenone 时为当前日期
max-date可选择的最大日期Dateswitch-modenone 时为当前日期的六个月后
default-date默认选中的日期,typemultiplerange 时为数组,传入 null 表示默认不选择Date | Date[] | null今天
row-height日期行高number | string64
formatter日期格式化函数(day: Day) => Day-
poppable是否以弹层的形式展示日历booleantrue
lazy-render是否只渲染可视区域的内容booleantrue
show-mark是否显示月份背景水印booleantrue
show-title是否展示日历标题booleantrue
show-subtitle是否展示日历副标题(年月)booleantrue
show-confirm是否展示确认按钮booleantrue
readonly是否为只读状态,只读状态下不能选择日期booleanfalse
confirm-text确认按钮的文字string确定
confirm-disabled-text确认按钮处于禁用状态时的文字string确定
first-day-of-week设置周起始日0-60

Events

事件名说明回调参数
select点击并选中任意日期时触发value: Date | Date[]
confirm日期选择完成后触发,若 show-confirmtrue,则点击确认按钮后触发value: Date | Date[]
open打开弹出层时触发-
close关闭弹出层时触发-
opened打开弹出层且动画结束后触发-
closed关闭弹出层且动画结束后触发-
unselect当日历组件的 typemultiple 时,取消选中日期时触发value: Date
month-show当某个月份进入可视区域时触发{ date: Date, title: string }
over-range范围选择超过最多可选天数时触发-
click-subtitle点击日历副标题时触发event: MouseEvent
click-disabled-date v4.7.0点击禁用日期时触发value: Date | Date[]
panel-change日历面板切换时触发{ date: Date }

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用