# FastDate 特殊日期
# FastDate 概述
选择或输入日期,支持年月日都包含日期选择,支持选择范围。
# FastDate 代码演示
# 基础用法
设置属性 type
为 date
或 daterange
分别显示选择单日和选择范围类型。
设置属性 placement
可以更改选择器出现的方向,与 Poptip 和 Tooltip 配置一致,支持 12 个方向,详见 API。
# 日期格式
设置属性 format
可以改变日期的显示格式,目前主要设置 yyyy-MM-dd 和 yyyy/MM/dd 格式
# 快捷方式(options)
设置属性 options
对象中的 shortcuts
可以设置快捷选项,详见示例代码。
其中 value 为函数,必须返回一个日期,如果是 daterange
类型,需要返回一个数组。
value 接收任何正确的日期格式,比如 2016-12-24 或 12/24/16 都是正确的。
# 不可选日期(options)
设置属性 options
对象中的 disabledDate
可以设置不可选择的日期。
disabledDate 是函数,参数为当前的日期,需要返回 Boolean 是否禁用这天。
# 带有确认操作
设置属性 confirm
,选择日期后,选择器不会主动关闭,需用户确认后才可关闭。
确认按钮并没有影响日期的正常选择。
# 日期选择器出现的位置
通过设置属性 placement
为 : 可选值为top、top-start、top-end、bottom、bottom-start、bottom-end、left、left-start、left-end、right、right-start、right-end。
# 是否禁用/只读
disabled
为true时不能提交到后台,不能弹出日期选择器; readonly
为true时不能弹出选择器,但值可以提交到后台
# 事件使用实例
on-change
日期发生变化时触发; on-open-change
弹出日历和关闭日历时触发; on-ok
在 confirm 模式下有效,点击确定按钮时触发。
# FastDate API
# fastDate props
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | 显示类型,可选值为 date 、 daterange | String | date |
value | 只用于 v-model 传入日期,yyyy-MM-dd 和 yyyy/MM/dd/,yyyyMMdd 形式字符串传入日期格式与 format 保持一致 | String | - |
format | 展示的日期格式 | String | date | daterange 默认yyyyMMdd,可选 yyyy-MM-dd 、 yyyy/MM/dd 和 yyyyMMdd |
placement | 日期选择器出现的位置,可选值为 top top-start top-end bottom bottom-start bottom-end left left-start left-end right right-start right-end | String | bottom-start |
placeholder | 占位文本 | String | 空 |
options | 选择器额外配置,比如不可选日期与快捷选项,具体项详见下表 | Object | - |
confirm | 是否显示底部控制栏,开启后,选择完日期,选择器不会主动关闭,需用户确认后才可关闭 | Boolean | false |
disabled | 是否禁用选择器 | Boolean | false |
clearable | 是否显示清除按钮 | Boolean | false |
readonly | 完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效 | Boolean | false |
setDefault | 如果日期框为空时设置第一次默认日期,(只在第一次创建时有效) | Boolean | false |
transfer | 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果 | Boolean | false |
tabindex | 设置输入框 tabindex(v1.0.47) | String | Number | -1 |
showToday | 选择今天快捷方式 | Boolean | false |
deleteNotAllClear | true: delete 不一键清空值 false: delete键一键清空( v1.0.70 ) | Boolean | false |
adjustDayMaximum | 开启后,当日值为29~31而该月份并无此日期时,将自动修改日期为当前月最后一日(v1.19.0) | Boolean | false |
# FastDate options
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
shortcuts | 设置快捷选项,每项内容: 1. text | String:显示的文案 2. value | Function:返回指定的日期,如需自己控制逻辑,可不设置,并使用 onClick 回调 3. onClick | Function:点击时的回调,参数为当前日期选择器的 Vue 实例,当需要自定义复杂操作时,可以使用 | Array | - |
disabledDate | 设置不可选择的日期,参数为当前的日期,需要返回 Boolean 是否禁用这天 | Function | - |
# fastDate events
事件名 | 说明 | 返回值 |
---|---|---|
on-change | 弹出框中选择发生变化/设置双向绑定值/手动输入日期时触发 | 已经格式化后的日期,比如 2016-01-01 |
on-open-change | 弹出日历和关闭日历时触发 | true | false |
on-ok | 在 confirm 模式下有效,点击确定按钮时触发 | - |
on-clear | 在 confirm 模式或 clearable = true 时有效,在清空日期时触发 | - |
on-focus | 获得焦点时触发 | - |
on-blur | 获得焦点的状态下点击 FastDate 之外的区域时触发 | - |
on-select-range | 在返回选择时,选择日期触发,返回当前点击日期和状态,只在范围选择时有效(此方法只在1.7.3或以上版本有效) | 第一个参数表示当前日期 第二个参数表示返回状态,范围选择是第一次点击返回false,第二次点击返回true |
# fastDate methods
方法 | 说明 |
---|---|
focus | 通过 this.$refs.xxx.focus() 调用,使当前输入框获取焦点,并打开选择面板 |
# fastDate slot
名称 | 说明 |
---|---|
footer | 自定义弹框尾部内容 |