Skip to content

TimePicker 时间选择器 ​

用于选择或输入时间。

基础用法 ​

未选择
vue
<my-time-picker v-model="time" placeholder="选择时间" />

尺寸 ​

vue
<my-time-picker v-model="time" size="large" />
<my-time-picker v-model="time" />
<my-time-picker v-model="time" size="small" />

格式选项 ​

format 控制显示格式。

值:
vue
<my-time-picker v-model="time" format="HH:mm" />

可清除 ​

×
vue
<my-time-picker v-model="time" clearable />

禁用 ​

vue
<my-time-picker v-model="time" disabled />

自定义指示器 ​

#trigger 插槽自定义触发元素。

vue
<my-time-picker v-model="time">
  <template #trigger="{ toggle, value }">
    <my-button @click="toggle">{{ value || '点击选择时间' }}</my-button>
  </template>
</my-time-picker>

表单校验 ​

结合 Form 组件的校验规则使用,支持自定义 validator。

vue
<my-form ref="formRef" :model="form" :rules="rules">
  <my-form-item prop="time" label="时间">
    <my-time-picker v-model="form.time" />
  </my-form-item>
</my-form>

<script setup>
const rules = {
  time: [{ required: true, message: '请选择时间', trigger: 'change' }],
  wake: [
    { required: true, message: '请选择', trigger: 'change' },
    {
      validator: (val, cb) => {
        if (val < '06:00:00') cb('不能早于6点')
        else cb()
      },
    },
  ],
}
</script>

组件结构 ​

<div> 根元素包含触发区(输入框 + 后缀图标 + 清除按钮)和下拉面板。面板内分时间选择主体(时/分/秒三列带增减按钮和数值)和底部操作区("此刻"和"确定"按钮)。

CSS 类名 ​

类名说明
.my-time-picker根元素
.is-large大尺寸
.is-small小尺寸
.my-time-picker__trigger触发区域
.my-time-picker__input输入框
.my-time-picker__suffix后缀图标
.my-time-picker__clear清除按钮
.my-time-picker__panel下拉面板
.my-time-picker__body时间选择主体
.my-time-picker__unit时/分/秒单元
.my-time-picker__value时间数值
.my-time-picker__colon冒号分隔符
.my-time-picker__spin增减按钮
.my-time-picker__actions底部操作区
.my-time-picker__btn操作按钮
.my-time-picker__btn--now"此刻"按钮
.my-time-picker__btn--confirm"确定"按钮
.-fade-*面板过渡动画

API ​

Props ​

属性说明类型默认值
modelValue绑定值 (v-model, HH:mm:ss)string—
placeholder占位文字string'选择时间'
format显示格式string—
size尺寸'large' | 'default' | 'small''default'
disabled禁用booleanfalse
clearable可清除booleanfalse

Events ​

事件说明回调
update:modelValuev-model 更新(value: string)
change值改变(value: string)
blur失焦(e: FocusEvent)
focus获焦(e: FocusEvent)

Slots ​

名称说明作用域
trigger自定义触发元素{ value, toggle, clear }

格式化标记 ​

标记说明
HH小时 (24h)
mm分钟
ss秒