1.2.5 • Published 7 months ago
datepicker-pro-vue v1.2.5
一个轻量、界面简洁、直观、功能齐全的日期选择器。支持多语言、农历展示和各种日期格式。
特性
- 遵循的是 ISO 8601 时间格式标准。
- 支持预设时间快捷选择。
- 提供农历/节假日的显示,可自定义假日信息。
- 组件提供了众多属性方便灵活配置,覆盖了绝大部份的时间业务场景。
- 界面简洁美观、交互流畅。
快速上手
安装
npm
npm install datepicker-pro-vue
yarn
yarn add datepicker-pro-vue
CDN
// jsdelivr
<script src="https://cdn.jsdelivr.net/npm/datepicker-pro-vue"></script>
// unpkg
<script src="https://unpkg.com/datepicker-pro-vue"></script>
需要引入指定版本时只需在包名后面加入具体版本信息即可。datepicker-pro-vue@xxx
,不加默认为最新版。
引入
全局注册
import Vue from "vue";
import App from "./App.vue";
import DatePickerPro from 'datepicker-pro-vue'; // 引入组件
Vue.use(DatePickerPro)
// DatePickerPro.install(Vue);
new Vue({
render: h => h(App),
}).$mount('#app')
使用
<DatePickerPro v-model="value" showTime></DatePickerPro>
效果:
使用
API
Props
参数名 | 描述 | 类型 | 默认值 |
---|---|---|---|
v-model | 面板显示的日期 | Date string number | - |
allow-clear | 是否允许清除 | boolean | true |
readonly | 是否为只读 | boolean | false |
disabled | 是否为禁用 | boolean | false |
disabled-date | 不可选取的日期 | (current?: Date) => boolean | - |
disabled-time | 不可选取的时间 | (current: Date) => DisabledTimeProps | - |
default-picker-value | 面板默认显示的日期 | Date string number | - |
error | 是否为错误状态 | boolean | false |
shortcuts | 预设时间范围快捷选择 | ShortcutType[] | [] |
position | 弹出的框的位置 | top bottom left right top-start top-end bottom-start bottom-end right-start right-end left-start left-end | bottom |
trigger | 触发方式 | toggle click hover focus click | |
popupTag | 容器标签 | String | div |
showArrow | 是否显示箭头 | boolean | false |
offset | 偏移量 | String number | 4 |
mouseEnterDelay | 移入事件延迟触发时间 | number | 100 |
mouseLeaveDelay | 移出事件延迟触发时间 | number | 100 |
forceShow | 持续展示 | boolean | false |
renderToBody | 是否挂载在body下 | boolean | false |
unmountOnClose | 是否在隐藏的时候销毁DOM结构 | boolean | false |
popupContainer | 弹出框的挂载容器 | string HTMLElement null undefined | - |
gpuAcceleration | 开启GPU加速渲染(低端机可能无法开启) | boolean | true |
stopPropagation | 阻止弹窗事件冒泡 | boolean | false |
preventDefault | 阻止弹窗默认行为 | boolean | false |
value-format | 值的格式,对 value defaultValue pickerValue defaultPickerValue 以及事件中的返回值生效,支持设置为时间戳,Date 和字符串(参考字符串解析格式)。如果没有指定,将格式化为字符串,格式同 format 。 | timestamp Date string | - |
preview-shortcut | 是否要预览快捷选择的结果 | boolean | true |
show-confirm-btn | 是否显示确认按钮,showTime = true 的时候始终显示。 | boolean | false |
Common
Events
事件名 | 描述 | 参数 |
---|---|---|
change | 组件值发生改变 | value: Date \| string \| number \| undefined date: Date \| undefined dateString: string \| undefined |
select | 选中日期发生改变但组件值未改变 | value: Date \| string \| number date: Date dateString: string |
popup-visible-change | 打开或关闭弹出框 | visible: boolean |
ok | 点击确认按钮 | value: Date \| string \| number date: Date dateString: string |
clear | 点击清除按钮 | - |
select-shortcut | 点击快捷选项 | shortcut: ShortcutType |
picker-value-change | 面板日期改变 | value: Date \| string \| number date: Date dateString: string |
字符串解析格式
格式 | 输出 | 描述 |
---|---|---|
YY | 21 | 两位数的年份 |
YYYY | 2021 | 四位数年份 |
M | 1-12 | 月份,从 1 开始 |
MM | 01-12 | 月份,两位数 |
MMM | Jan-Dec | 缩写的月份名称 |
MMMM | January-December | 完整的月份名称 |
D | 1-31 | 月份里的一天 |
DD | 01-31 | 月份里的一天,两位数 |
d | 0-6 | 一周中的一天,星期天是 0 |
dd | Su-Sa | 最简写的一周中一天的名称 |
ddd | Sun-Sat | 简写的一周中一天的名称 |
dddd | Sunday-Saturday | 一周中一天的名称 |
H | 0-23 | 小时 |
HH | 00-23 | 小时,两位数 |
h | 1-12 | 小时, 12 小时制 |
hh | 01-12 | 小时, 12 小时制, 两位数 |
m | 0-59 | 分钟 |
mm | 00-59 | 分钟,两位数 |
s | 0-59 | 秒 |
ss | 00-59 | 秒,两位数 |
S | 0-9 | 数百毫秒,一位数 |
SS | 00-99 | 几十毫秒,两位数 |
SSS | 000-999 | 毫秒,三位数字 |
Z | -5:00 | UTC 的偏移量 |
ZZ | -0500 | UTC 的偏移量,数字前面加上 0 |
A | AM PM | - |
a | am pm | - |
Do | 1st... 3st | 带序号的月份中的某天 |
X | 1410715640.579 | Unix 时间戳 |
x | 1410715640579 | Unix 毫秒时间戳 |
相关依赖
名称 | 版本 | 作者 |
---|---|---|
dayjs | ^1.11.7 | iamkun |
@popperjs/core | ^2.11.6 | floating-ui |
b-tween | ^0.3.3 | PengJiyuan |
参与贡献
贡献之前请先阅读 行为准则。
感谢本项目中所有用到的资源、工具的开发们,以及参与贡献的人!
License
本项目使用 MIT 协议许可证。