• TimePicker 时间选择器
    • 概述
    • 代码示例
    • API
      • TimePicker props
      • TimePicker events
      • TimePicker slot

    TimePicker 时间选择器

    概述

    选择或输入标准时间,支持选择范围。

    代码示例

    TimePicker 时间选择器 - 图1

    基础用法

    设置属性 typetimetimerange 分别显示选择单个时间选择范围时间类型。

    设置属性 placement 可以更改选择器出现的方向,与 Poptip 和 Tooltip 配置一致,支持 12 个方向,详见 API。

    1. <template>
    2. <Row>
    3. <Col span="12">
    4. <TimePicker type="time" placeholder="Select time" style="width: 168px"></TimePicker>
    5. </Col>
    6. <Col span="12">
    7. <TimePicker type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
    8. </Col>
    9. </Row>
    10. </template>
    11. <script>
    12. export default {
    13. }
    14. </script>

    TimePicker 时间选择器 - 图2

    时间格式

    设置属性 format 可以改变时间的显示格式,详见 Date)。

    注意,format 只是改变显示的格式,并非改变 value 值。

    1. <template>
    2. <Row>
    3. <Col span="12">
    4. <TimePicker :value="value1" format="HH点mm分ss秒" placeholder="Select time" style="width: 168px"></TimePicker>
    5. </Col>
    6. <Col span="12">
    7. <TimePicker :value="value2" format="HH’mm’ss" type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
    8. </Col>
    9. </Row>
    10. </template>
    11. <script>
    12. export default {
    13. data () {
    14. return {
    15. value1: '09:41:00',
    16. value2: ['09:41:00', '12:00:00']
    17. }
    18. }
    19. }
    20. </script>

    TimePicker 时间选择器 - 图3

    选择时分

    组件浮层中的列会随着 format 变化,当略去 format 中的秒时,浮层中对应的列也会消失。

    1. <template>
    2. <Row>
    3. <Col span="12">
    4. <TimePicker format="HH:mm" placeholder="Select time" style="width: 112px"></TimePicker>
    5. </Col>
    6. <Col span="12">
    7. <TimePicker format="HH:mm" type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
    8. </Col>
    9. </Row>
    10. </template>
    11. <script>
    12. export default {
    13. }
    14. </script>

    TimePicker 时间选择器 - 图4

    时间间隔

    通过属性 steps 可以设置时间间隔。数组的三项分别对应小时、分钟、秒。

    1. <template>
    2. <TimePicker :steps="[1, 15, 15]" placeholder="Select time" style="width: 112px"></TimePicker>
    3. </template>
    4. <script>
    5. export default {
    6. }
    7. </script>

    TimePicker 时间选择器 - 图5

    不可选时间

    可以使用 disabled-hours disabled-minutes disabled-seconds 组合禁止用户选择某个时间。

    使用 hide-disabled-options 可以直接把不可选择的项隐藏。

    1. <template>
    2. <Row>
    3. <Col span="12">
    4. <TimePicker
    5. :disabled-hours="[1,5,10]"
    6. :disabled-minutes="[0,10,20]"
    7. placeholder="Select time"
    8. style="width: 168px"></TimePicker>
    9. </Col>
    10. <Col span="12">
    11. <TimePicker
    12. hide-disabled-options
    13. :disabled-hours="[1,5,10]"
    14. :disabled-minutes="[0,10,20]"
    15. placeholder="Select time"
    16. style="width: 168px"></TimePicker>
    17. </Col>
    18. </Row>
    19. </template>
    20. <script>
    21. export default {
    22. }
    23. </script>

    TimePicker 时间选择器 - 图6

    带有确认操作

    设置属性 confirm,选择器会有清空和确定按钮。

    确认按钮并没有影响时间的正常选择。

    1. <template>
    2. <Row>
    3. <Col span="12">
    4. <TimePicker confirm placeholder="Select time" style="width: 168px"></TimePicker>
    5. </Col>
    6. <Col span="12">
    7. <TimePicker confirm type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
    8. </Col>
    9. </Row>
    10. </template>
    11. <script>
    12. export default {
    13. }
    14. </script>

    TimePicker 时间选择器 - 图7

    手动控制组件

    对于一些定制化的场景,可以使用 slot 配合参数 open confirm 及事件来手动控制组件的显示状态,详见示例和 API。

    1. <template>
    2. <TimePicker
    3. :open="open"
    4. :value="value3"
    5. confirm
    6. @on-change="handleChange"
    7. @on-clear="handleClear"
    8. @on-ok="handleOk">
    9. <a href="javascript:void(0)" @click="handleClick">
    10. <Icon type="ios-clock-outline"></Icon>
    11. <template v-if="value3 === ''">Select time</template>
    12. <template v-else>{{ value3 }}</template>
    13. </a>
    14. </TimePicker>
    15. </template>
    16. <script>
    17. export default {
    18. data () {
    19. return {
    20. open: false,
    21. value3: ''
    22. }
    23. },
    24. methods: {
    25. handleClick () {
    26. this.open = !this.open;
    27. },
    28. handleChange (time) {
    29. this.value3 = time;
    30. },
    31. handleClear () {
    32. this.open = false;
    33. },
    34. handleOk () {
    35. this.open = false;
    36. }
    37. }
    38. }
    39. </script>

    TimePicker 时间选择器 - 图8

    尺寸

    通过设置属性 sizelargesmall 可以调整选择器尺寸为大或小,默认不填为中。

    1. <template>
    2. <row :gutter="16">
    3. <Col span="8">
    4. <TimePicker size="small" placeholder="Select time"></TimePicker>
    5. </Col>
    6. <Col span="8">
    7. <TimePicker placeholder="Select time"></TimePicker>
    8. </Col>
    9. <Col span="8">
    10. <TimePicker size="large" placeholder="Select time"></TimePicker>
    11. </Col>
    12. </Row>
    13. </template>
    14. <script>
    15. export default {
    16. }
    17. </script>

    API

    TimePicker props

    属性说明类型默认值
    type显示类型,可选值为 timetimerangeStringtime
    value 时间,可以是 JavaScript 的 Date,例如 new Date(),也可以是标准的时间格式,点击右边查看 注意:value 使用 v-model 时,值是 Date 类型,可以配合 @on-change 使用 Date)-
    format展示的时间格式 Date)HH:mm:ss
    steps下拉列表的时间间隔,数组的三项分别对应小时、分钟、秒。例如设置为 [1, 15] 时,分钟会显示:00、15、30、45。Array[]
    placement时间选择器出现的位置,可选值为toptop-starttop-endbottombottom-startbottom-endleftleft-startleft-endrightright-startright-end,2.12.0 版本开始支持自动识别Stringbottom-start
    placeholder占位文本String
    confirm是否显示底部控制栏Booleanfalse
    open手动控制时间选择器的显示状态,true 为显示,false 为收起。使用该属性后,选择器不会主动关闭。建议配合 slot 及 confirm 和相关事件一起使用Booleannull
    size尺寸,可选值为largesmalldefault或者不设置String-
    disabled是否禁用选择器Booleanfalse
    clearable是否显示清除按钮Booleantrue
    readonly完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效Booleanfalse
    editable文本框是否可以输入,只在没有使用 slot 时有效Booleantrue
    transfer是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果Booleanfalse
    element-id给表单元素设置 id,详见 Form 用法。String-
    separator 3.3.0两个日期间的分隔符String -

    TimePicker events

    事件名说明返回值
    on-change时间发生变化时触发已经格式化后的时间,比如 09:41:00
    on-open-change弹出浮层和关闭浮层时触发true | false
    on-ok点击确定按钮时触发-
    on-clear在清空日期时触发-

    TimePicker slot

    名称说明
    自定义选择器的显示内容,建议与 open 等参数一起使用,详见示例