基础用法
基础用法
SunlightDatePicker 是基于 Element Plus DatePicker 的增强型日期选择器组件,支持多种日期类型和自定义配置。
基础日期选择
选择的日期: 暂无选择
选择年
选择的年份: 暂无选择
选择年月日时分秒
选择的日期时间: 暂无选择
月份选择
选择的月份: 暂无选择
多个时间选择
选择的多个日期: []
日期范围选择
通过设置 type: 'daterange' 开启日期范围选择功能。
-
选择的日期范围: []
文档说明
组件简介
SunlightDatePicker 是一个基于 Element Plus DatePicker 组件增强的自定义日期选择器组件,提供了更丰富的配置选项和更好的用户体验。
核心功能
- 支持多种日期类型(日期、日期时间、日期范围等)
- 支持自定义日期格式
- 支持自定义边框、圆角和聚焦效果
- 提供丰富的事件支持
基础用法要点
- 双向绑定:使用
v-model实现数据双向绑定 - 配置对象:通过
item属性传递配置项 - 日期类型:通过
type属性设置日期选择器类型 - 日期格式:通过
valueFormat设置日期格式 - 事件处理:支持直接监听事件或通过
eventFunction配置
配置说明
SunlightDatePicker Props 配置项
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| modelValue | 绑定值,支持双向数据绑定 | string number Date array | null |
| item | 日期选择器配置对象,包含各种属性和样式配置 | object | {} |
item 配置对象
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| disabled | 是否禁用日期选择器 | boolean | false |
| placeholder | 日期选择器占位符 | string | '请选择日期' |
| type | 日期选择器类型 | string | 'date' |
| valueFormat | 日期格式 | string | 'YYYY-MM-DD' |
| customClass | 自定义样式类 | string | - |
| customStyle | 自定义内联样式 | object | - |
| wrapperStyle | 边框和样式配置对象 | object | - |
| config | 额外属性配置,支持传入任意属性 | object | {} |
| eventFunction | 事件处理函数对象 | object | {} |
| slotNames | 插槽名称数组 | array | [] |
日期类型说明
| 类型值 | 说明 |
|---|---|
| date | 日期选择器 |
| datetime | 日期时间选择器 |
| daterange | 日期范围选择器 |
| datetimerange | 日期时间范围选择器 |
| month | 月份选择器 |
| year | 年份选择器 |
| dates | 日期多选 |
wrapperStyle 配置对象
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| borderColor | 日期选择器边框颜色 | string | '#c0c4cc' |
| borderRadius | 日期选择器圆角大小 | string | '4px' |
| backgroundColor | 日期选择器背景色 | string | 'inherit' |
| boxShadow | 日期选择器阴影效果 | string | 'inherit' |
| focusBorderColor | 聚焦时边框颜色 | string | '#409eff' |
| focusBoxShadow | 聚焦时阴影效果 | string | '0 0 0 3px rgba(64, 158, 255, 0.15)' |
事件说明
SunlightDatePicker 支持丰富的事件,您可以通过两种方式使用事件:
- 直接在组件上使用
@eventName语法监听事件 - 通过
item.eventFunction配置对象传递事件处理函数
支持的事件列表
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| change | 当选择的值发生变化时触发 | val: string/number/Date/Array - 选中的值 |
| blur | 当日期选择器失去焦点时触发 | event: Event - 原生事件对象 |
| focus | 当日期选择器获得焦点时触发 | event: Event - 原生事件对象 |
| calendar-change | 当日历面板的日期发生变化时触发 | val: string/number/Date/Array - 当前日历面板显示的日期 |
| visible-change | 当弹出框出现/隐藏时触发 | val: boolean - 弹出框是否可见 |
| panel-change | 当日期面板切换时触发 | value: string/number/Date - 当前选中的值 mode: string - 当前面板模式 oldMode: string - 上一个面板模式 |