cloud-ui.vusion
Version:
Vusion Cloud UI
197 lines (163 loc) • 7.21 kB
Markdown
<!-- 该 README.md 根据 api.yaml 和 docs/*.md 自动生成,为了方便在 GitHub 和 NPM 上查阅。如需修改,请查看源文件 -->
# UDateTimePicker 日期时间选择
- [示例](#示例)
- [基本用法](#基本用法)
- [隐藏底部按钮](#隐藏底部按钮)
- [自定义底部文案](#自定义底部文案)
- [选择日期](#选择日期)
- [自动获取焦点](#自动获取焦点)
- [只读和禁用](#只读和禁用)
- [最大值和最小值](#最大值和最小值)
- [自定义底部](#自定义底部)
- [方法](#方法)
- [范围选择](#范围选择)
- [API]()
- [Props/Attrs](#propsattrs)
- [Events](#events)
**Selector**
日期时间选择器
## 示例
### 基本用法
``` html
<u-linear-layout>
<u-date-time-picker preIcon suffixIcon="calendar" clearable></u-date-time-picker>
<u-date-time-picker date="2018-08-08"></u-date-time-picker>
</u-linear-layout>
```
### 隐藏底部按钮
```html
<u-linear-layout>
<u-date-time-picker preIcon suffixIcon="calendar" clearable :showFooterButton=false></u-date-time-picker>
<u-date-time-picker preIcon suffixIcon="calendar" clearable :showRightNowButton=false></u-date-time-picker>
<u-date-time-picker preIcon suffixIcon="calendar" clearable :showRightNowButton=false :showFooterButton=false></u-date-time-picker>
</u-linear-layout>
```
### 自定义底部文案
```html
<u-linear-layout>
<u-date-time-picker cancelTitle="取" okTitle="确" rightNowTitle="此" preIcon suffixIcon="calendar" clearable></u-date-time-picker>
</u-linear-layout>
```
### 选择日期
``` vue
<template>
<u-date-time-picker v-model="date"></u-date-time-picker>
</template>
<script>
export default {
data() {
return {
date: '',
};
},
};
</script>
```
### 自动获取焦点
``` html
<u-date-time-picker date="2018-08-08" autofocus></u-date-time-picker>
```
### 只读和禁用
``` html
<u-linear-layout>
<u-date-time-picker date="2018-08-08" readonly></u-date-time-picker>
<u-date-time-picker date="2018-08-08" disabled></u-date-time-picker>
</u-linear-layout>
```
### 最大值和最小值
``` html
<u-date-time-picker date="2017-05-12 8:00:00" min-date="2017-01-10 07:00:00" max-date="2017-12-12 07:00:00"></u-date-time-picker>
```
### 自定义底部
``` html
<u-date-time-picker clearable>
<div slot="footer" style="padding: 15px 0 5px;text-align:center">
插入文本或 HTML 至日期组件底部
</div>
</u-date-time-picker>
```
### 方法
``` vue
<template>
<u-date-time-picker :date="date" @change="change($event.date)" @select="select($event)"></u-date-time-picker>
</template>
<script>
export default {
data() {
return {
date: '2017-12-01 20:12:12',
};
},
methods: {
change(time) {
console.log(time);
},
select(date) {
console.log(date);
}
},
};
</script>
```
### 范围选择
``` html
<u-date-time-picker
range
start-date="2023-03-10"
end-date="2023-03-20"
clearable>
</u-date-time-picker>
```
## API
### Props/Attrs
| Prop/Attr | Type | Options | Default | Description |
| --------- | ---- | ------- | ------- | ----------- |
| minUnit | string | `[object Object]`<br/>`[object Object]` | `'second'` | 最小时间单位 |
| range | boolean | | `false` | 是否支持进行日期时间区间选择,关闭则为日期时间点选择 |
| value.sync, v-model | string, number, Date | | | 默认显示的日期时间值,格式如2018-08-08 08:08:08 |
| startDate.sync | string,number,Date | | | 默认显示的起始日期时间值,格式如2018-08-08 08:08:08 |
| endDate.sync | string,number,Date | | | 默认显示的结束日期时间值,格式如2018-08-08 08:08:08 |
| minDate | string, number, Date | | | 最小可选的日期时间值,填写null则不限制,日期填写格式为“yyyy-mm-dd 00:00:00” |
| maxDate | string, number, Date | | | 最大可选的日期时间值,填写null则不限制,日期填写格式为“yyyy-mm-dd 00:00:00” |
| yearDiff | number | | `20` | 最小可选年份值与当前年份值的差值 |
| yearAdd | number | | `20` | 最大可选年份值与当前年份值的差值 |
| show-date-formatter | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'YYYY-MM-DD'` | |
| show-time-formatter | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'HH:mm:ss'` | |
| advanced-format | { enable: boolean, value: string } | | `'{ enable: false, value: '' }'` | |
| placeholder | string | | `'请选择时间'` | 为空时显示的占位符文本 |
| placeholderRight | string | | | 为空时显示的占位符文本(右侧) |
| autofocus | boolean | | `false` | 设置是否自动获取焦点 |
| showRightNowButton | boolean | | `true` | 点击可快捷选择当前时间 |
| rightNowTitle | string | | `''` | |
| showFooterButton | boolean | | `true` | 控制弹出层的关闭和设置的生效与否 |
| cancelTitle | string | | `''` | 取消按钮的显示名称,如果为空则不显示 |
| okTitle | string | | `''` | 确定按钮的显示名称,如果为空则不显示 |
| converter | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'json'` | |
| preIcon | string | `[object Object]` | `'calendar'` | |
| suffixIcon | string | `[object Object]` | | |
| append-to | string | `[object Object]`<br/>`[object Object]` | `'body'` | 设置弹出层依据哪个元素定位位置,可选值:`'body'`表示添加到 document.body,`'reference'`表示添加到参考元素中。 |
| clearable | boolean | | | 可点击清除按钮一键清除内容 |
| opened | boolean | | `false` | 弹出状态分为“True(弹出)/False(关闭)”,默认为“关闭” |
| disabled | boolean | | `false` | 置灰显示,且禁止任何交互(焦点、点击、选择、输入等) |
| readonly | boolean | | `false` | 正常显示,但禁止选择/输入 |
| width | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'normal'` | 设置日期时间选择输入框宽度大小 |
| height | string | `[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]`<br/>`[object Object]` | `'normal'` | 设置日期时间选择输入框高度大小 |
### Events
#### @select
日期值发生变化触发
| Param | Type | Description |
| ----- | ---- | ----------- |
| $event | object | 自定义事件对象 |
| $event.date | number | 选择项的值,默认返回时间戳 |
#### @change
选择新时间触发
| Param | Type | Description |
| ----- | ---- | ----------- |
| $event | object | 自定义事件对象 |
| $event.date | number | 选择项的值,默认返回时间戳 |
#### @blur
失去焦点时触发。
| Param | Type | Description |
| ----- | ---- | ----------- |
| $event | FocusEvent | 原生事件对象 |
| senderVM | | 发送事件实例 |