<script>
    export default{
        data(){
            return {
                defaultColor:'success',
                value1: '2015-11-12',
                title1:'日期一',
                title2:'日期二',
                title3:'日期三',
                minuteListValue: '2017-06-12 09:00',
                hourListValue: '2017-06-12 09:00',
                hourList:['09', '10', '11', '12'],
                maxHour:23,
                minHour:8,
                minuteList:['00', '15', '30', '45']
            }
        },
        methods:{
            showDataTime(){
                this.$dateTime.show({
                    cancelText: '取消',
                    confirmText: '确定',
                    format: 'YYYY-MM-DD HH',
                    value: '2017-05-20 18',
                    onConfirm (val) {
                      // console.log('plugin confirm', val)
                    },
                    onShow () {
                      // console.log('plugin show')
                    },
                    onHide () {
                      // console.log('plugin hide')
                    }
                })
            },
            change (value) {
              // console.log('change', value)
            },
            select (value){
                // console.log('value:::::',value)
            }
        },
        mounted(){
            setTimeout(()=>{
                // this.minHour = 12
                this.minuteList = ['00','30']
            },3000)
        }
    }
</script>

# DateTime

组件模式导出
> import DateTime from 'zhidian-ui/lib/dateTime'

插件模式导出
> import $DateTime from 'zhidian-ui/lib/$dateTime'


### 插件模式触发
:::demo
```html
<i-button :color="defaultColor" @click.native="showDataTime">插件模式触发</i-button>
```
```javaScript
<script>
    export default{
        data(){
            return {
                defaultColor:'success',
            }
        },
        methods:{
            showDataTime(){
                this.$dateTime.show({
                    cancelText: '取消',
                    confirmText: '确定',
                    format: 'YYYY-MM-DD HH',
                    value: '2017-05-20 18',
                    onConfirm (val) {
                      // console.log('plugin confirm', val)
                    },
                    onShow () {
                      // console.log('plugin show')
                    },
                    onHide () {
                      // console.log('plugin hide')
                    }
                })
            }
        }
    }
</script>
```
:::

### 默认格式
:::demo
```html
<date-time v-model="value1" @on-change="change" :title="title1"></date-time>
```
```javaScript
<script>
    export default{
        data(){
            return {
                value1: '2015-11-12',
                title1:'日期一',
            }
        },
        methods:{
            change (value) {
              // console.log('change', value)
            }
        }
    }
</script>
```
:::

### 自定义分钟列表（每15分钟）
:::demo
```html
<date-time v-model="minuteListValue" format="YYYY-MM-DD HH:mm" :minute-list="['00', '15', '30', '45']" :min-hour="minHour" :max-hour="maxHour" @on-change="change" :title="title2"></date-time>
```
```javaScript
<script>
    export default{
        data(){
            return {
                title2:'日期二',
                minuteListValue: '2017-06-12 09:00',
                maxHour:23,
                minHour:8
            }
        },
        methods:{
            change (value) {
              // console.log('change', value)
            }
        }
    }
</script>
```
:::

### 定义小时列表
:::demo
```html
 <date-time v-model="hourListValue" format="YYYY-MM-DD HH:mm" :hour-list="hourList" :minute-list="minuteList" @on-change="change" :title="title3" @on-select="select"></date-time>
 ```
```javaScript
 <script>
    export default{
        data(){
            return {
                hourListValue: '2017-06-12 09:00',
                hourList:['09', '10', '11', '12']
            }
        },
        methods:{
            change (value) {
              // console.log('change', value)
            },
            select(val){
                // console.log('select:::',val)
            }
        }
    }
</script>
```
:::


### DateTime Attributes
| 参数      | 说明          | 类型      | 可选值       | 默认值  |
|---------- |------------- |---------------|------------  |-------- |
| format | 时间格式 | `String` | — | `YYYY-MM-DD` |
| title | 标题 | `String` | — | — |
| value | 表单值，v-model绑定 | `String` | — | — |
| placeholder | 提示文字 | `String` | — | — |
| min-year | 可选择的最小年份 | `Number` | — | — |
| max-year | 可选择的最大年份 | `Number` | — | — |
| confirm-text | 确认按钮文字 | `String` | — | `ok（确认）` |
| cancel-text | 取消按钮文字 | `String` | — | `cancel(取消)` |
| clear-text | 显示在中间的自定义按钮的文字 | `String` | — | — |
| year-row | 年份的渲染模板 | `String` | — | — |
|  month-row | 月份的渲染模板 | `String` | — | — |
|  day-row | 日期的渲染模板 | `String` | — | — |
|  hour-row | 小时的渲染模板 | `String` | — | — |
|  minute-row | 分钟的渲染模板 | `String` | — | — |
|  min-hour | 限定小时最小值 | `Number` | — | 0 |
|  max-hour | 限定小时最大值 | `Number` | — | 23 |
|  start-date | 限定最小日期，注意该限制只能限定到日期，不能限定到小时分钟。小时限定请使用`min-hour`和`max-hour` | `String` | — | — |
|  end-date | 限定最大日期，注意该限制只能限定到日期，不能限定到小时分钟 | `String` | — | — |
|  readonly | 只读 | `String` | — | — |
|  show | 是否显示 | `String` | — | — |

### DateTime Event
| 参数      | 参数          |  说明  |
|---------- |------------- |---------------|
| on-change | (value) | 点击确定按钮触发 |
| on-select | (value) | 表单值变化时触发 |