TimePicker 时间选择器

优质
小牛编辑
119浏览
2023-12-01

TimePicker 时间选择器

用于选择或输入日期

固定时间点

提供几个固定的时间点供用户选择

使用 el-time-select 标签,分别通过startendstep指定可选的起始时间、结束时间和步长

<el-time-select
  v-model="value"
  :picker-options="{
    start: '08:30',
    step: '00:15',
    end: '18:30'
  }"
  placeholder="选择时间">
</el-time-select>

<script>
  export default {
    data() {
      return {
        value: ''
      };
    }
  }
</script>

任意时间点

可以选择任意时间

使用 el-time-picker 标签,通过selectableRange限制可选时间范围。提供了两种交互方式:默认情况下通过鼠标滚轮进行选择,打开arrow-control属性则通过界面上的箭头进行选择。

<template>
  <el-time-picker
    v-model="value1"
    :picker-options="{
      selectableRange: '18:30:00 - 20:30:00'
    }"
    placeholder="任意时间点">
  </el-time-picker>
  <el-time-picker
    arrow-control
    v-model="value2"
    :picker-options="{
      selectableRange: '18:30:00 - 20:30:00'
    }"
    placeholder="任意时间点">
  </el-time-picker>
</template>

<script>
  export default {
    data() {
      return {
        value1: new Date(2016, 9, 10, 18, 40),
        value2: new Date(2016, 9, 10, 18, 40)
      };
    }
  }
</script>

固定时间范围

若先选择开始时间,则结束时间内备选项的状态会随之改变

demo

<template>
  <el-time-select
    placeholder="起始时间"
    v-model="startTime"
    :picker-options="{
      start: '08:30',
      step: '00:15',
      end: '18:30'
    }">
  </el-time-select>
  <el-time-select
    placeholder="结束时间"
    v-model="endTime"
    :picker-options="{
      start: '08:30',
      step: '00:15',
      end: '18:30',
      minTime: startTime
    }">
  </el-time-select>
</template>

<script>
  export default {
    data() {
      return {
        startTime: '',
        endTime: ''
      };
    }
  }
</script>

任意时间范围

可选择任意的时间范围

添加is-range属性即可选择时间范围,同样支持arrow-control属性。

<template>
  <el-time-picker
    is-range
    v-model="value1"
    range-separator="至"
    start-placeholder="开始时间"
    end-placeholder="结束时间"
    placeholder="选择时间范围">
  </el-time-picker>
  <el-time-picker
    is-range
    arrow-control
    v-model="value2"
    range-separator="至"
    start-placeholder="开始时间"
    end-placeholder="结束时间"
    placeholder="选择时间范围">
  </el-time-picker>
</template>

<script>
  export default {
    data() {
      return {
        value1: [new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)],
        value2: [new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)]
      };
    }
  }
</script>

Attributes

参数说明类型可选值默认值
value / v-model绑定值date(TimePicker) / string(TimeSelect)
readonly完全只读booleanfalse
disabled禁用booleanfalse
editable文本框可输入booleantrue
clearable是否显示清除按钮booleantrue
size输入框尺寸stringmedium / small / mini
placeholder非范围选择时的占位内容string
start-placeholder范围选择时开始日期的占位内容string
end-placeholder范围选择时开始日期的占位内容string
is-range是否为时间范围选择,仅对<el-time-picker>有效booleanfalse
arrow-control是否使用箭头进行时间选择,仅对<el-time-picker>有效booleanfalse
align对齐方式stringleft / center / rightleft
popper-classTimePicker 下拉框的类名string
picker-options当前时间日期选择器特有的选项参考下表object{}
range-separator选择范围时的分隔符string-'-'
value-format可选,仅TimePicker时可用,绑定值的格式。不指定则绑定值为 Date 对象string日期格式
default-value可选,选择器打开时默认显示的时间Date(TimePicker) / string(TimeSelect)可被new Date()解析(TimePicker) / 可选值(TimeSelect)
name原生属性string
prefix-icon自定义头部图标的类名stringel-icon-time
clear-icon自定义清空图标的类名stringel-icon-circle-close

Time Select Options

参数说明类型可选值默认值
start开始时间string09:00
end结束时间string18:00
step间隔时间string00:30
minTime最小时间,小于该时间的时间段将被禁用string00:00
maxTime最大时间,大于该时间的时间段将被禁用string

Time Picker Options

参数说明类型可选值默认值
selectableRange可选时间段,例如'18:30:00 - 20:30:00'或者传入数组['09:30:00 - 12:00:00', '14:30:00 - 18:30:00']string / array
format时间格式化(TimePicker)string小时:HH,分:mm,秒:ss,AM/PM A'HH:mm:ss'

Events

事件名说明参数
change用户确认选定的值时触发组件绑定值
blur当 input 失去焦点时触发组件实例
focus当 input 获得焦点时触发组件实例

Methods

方法名说明参数
focus使 input 获取焦点-