• 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 中的秒时,浮层中对应的列也会消失。

    <template>
        <Row>
            <Col span="12">
                <TimePicker format="HH:mm" placeholder="Select time" style="width: 112px"></TimePicker>
            </Col>
            <Col span="12">
                <TimePicker format="HH:mm" type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
            </Col>
        </Row>
    </template>
    <script>
        export default {
    
        }
    </script>
    

    TimePicker 时间选择器 - 图4

    时间间隔

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

    <template>
        <TimePicker :steps="[1, 15, 15]" placeholder="Select time" style="width: 112px"></TimePicker>
    </template>
    <script>
        export default {
    
        }
    </script>
    

    TimePicker 时间选择器 - 图5

    不可选时间

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

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

    <template>
        <Row>
            <Col span="12">
                <TimePicker
                    :disabled-hours="[1,5,10]"
                    :disabled-minutes="[0,10,20]"
                    placeholder="Select time"
                    style="width: 168px"></TimePicker>
            </Col>
            <Col span="12">
                <TimePicker
                    hide-disabled-options
                    :disabled-hours="[1,5,10]"
                    :disabled-minutes="[0,10,20]"
                    placeholder="Select time"
                    style="width: 168px"></TimePicker>
            </Col>
        </Row>
    </template>
    <script>
        export default {
    
        }
    </script>
    

    TimePicker 时间选择器 - 图6

    带有确认操作

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

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

    <template>
        <Row>
            <Col span="12">
                <TimePicker confirm placeholder="Select time" style="width: 168px"></TimePicker>
            </Col>
            <Col span="12">
                <TimePicker confirm type="timerange" placement="bottom-end" placeholder="Select time" style="width: 168px"></TimePicker>
            </Col>
        </Row>
    </template>
    <script>
        export default {
    
        }
    </script>
    

    TimePicker 时间选择器 - 图7

    手动控制组件

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

    <template>
        <TimePicker
            :open="open"
            :value="value3"
            confirm
            @on-change="handleChange"
            @on-clear="handleClear"
            @on-ok="handleOk">
            <a href="javascript:void(0)" @click="handleClick">
                <Icon type="ios-clock-outline"></Icon>
                <template v-if="value3 === ''">Select time</template>
                <template v-else>{{ value3 }}</template>
            </a>
        </TimePicker>
    </template>
    <script>
        export default {
            data () {
                return {
                    open: false,
                    value3: ''
                }
            },
            methods: {
                handleClick () {
                    this.open = !this.open;
                },
                handleChange (time) {
                    this.value3 = time;
                },
                handleClear () {
                    this.open = false;
                },
                handleOk () {
                    this.open = false;
                }
            }
        }
    </script>
    

    TimePicker 时间选择器 - 图8

    尺寸

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

    <template>
        <row :gutter="16">
            <Col span="8">
                <TimePicker size="small" placeholder="Select time"></TimePicker>
            </Col>
            <Col span="8">
                <TimePicker placeholder="Select time"></TimePicker>
            </Col>
            <Col span="8">
                <TimePicker size="large" placeholder="Select time"></TimePicker>
            </Col>
        </Row>
    </template>
    <script>
        export default {
    
        }
    </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 -
    capture 4.0.0是否开启 capture 模式,也可通过全局配置Booleantrue

    TimePicker events

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

    TimePicker slot

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