Skip to content

Time Picker ​

Scrollable column time picker with hour, minute, second selection and 12/24 hour support.

vue
<script setup>
import { ref } from 'vue'
const time = ref('')
</script>

<template>
  <VxTimePicker v-model="time" />
</template>

With Seconds ​

vue
<template>
  <VxTimePicker v-model="time" format="HH:mm:ss" />
</template>

12-Hour Format ​

vue
<template>
  <VxTimePicker v-model="time" format="hh:mm A" />
</template>

Step Intervals ​

Set custom step for hours, minutes, or seconds.

vue
<template>
  <VxTimePicker :minute-step="15" />
  <!-- Shows: 00, 15, 30, 45 -->
</template>

Min / Max Time ​

vue
<template>
  <VxTimePicker min-time="09:00" max-time="18:00" />
</template>

Non-editable ​

Click to pick
vue
<template>
  <VxTimePicker :editable="false" />
</template>

Disabled ​

14:30
vue
<template>
  <VxTimePicker v-model="time" disabled />
</template>

Props ​

PropTypeDefaultDescription
modelValuestring''Time value (v-model)
placeholderstring'Pick time'Placeholder
format'HH:mm' | 'HH:mm:ss' | 'hh:mm A' | 'hh:mm:ss A''HH:mm'Time format
disabledbooleanfalseDisable
clearablebooleantrueClear button
editablebooleantrueAllow typing with mask
minTimestring''Min time (e.g. '09:00')
maxTimestring''Max time (e.g. '18:00')
hourStepnumber1Hour step interval
minuteStepnumber1Minute step interval
secondStepnumber1Second step interval
triggerClassstring''Custom trigger class
triggerStyleRecord<string, string>—Custom trigger styles

Events ​

EventTypeDescription
update:modelValue(value: string) => voidTime changed
change(value: string) => voidTime changed