Skip to content
API 风格:

Selector de hora ​

LhTimePicker es un componente selector para elegir una hora, con selección precisa de horas, minutos y segundos.

Uso básico ​

Uso básico
vue
<script setup lang="ts">
import { ref } from 'vue'

const baseTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="baseTime" />
</template>
vue
<script>
export default {
  data() {
    return { baseTime: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="baseTime" />
</template>

Estado deshabilitado ​

Estado deshabilitado
vue
<script setup lang="ts">
import { ref } from 'vue'

const disabledTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="disabledTime" disabled />
</template>
vue
<script>
export default {
  data() {
    return { disabledTime: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="disabledTime" disabled />
</template>

Formato de hora ​

Formato de hora
vue
<script setup lang="ts">
import { ref } from 'vue'

const formatTime1 = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="formatTime1" format="HH:mm" />
</template>
vue
<script>
export default {
  data() {
    return { formatTime1: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="formatTime1" format="HH:mm" />
</template>

Botón de borrado ​

Botón de borrado
vue
<script setup lang="ts">
import { ref } from 'vue'

const clearTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="clearTime" clearable />
</template>
vue
<script>
export default {
  data() {
    return { clearTime: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="clearTime" clearable />
</template>

Rango de horas personalizado ​

Rango de horas personalizado
vue
<script setup lang="ts">
import { ref } from 'vue'

const rangeTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="rangeTime" :start="8" :end="20" />
</template>
vue
<script>
export default {
  data() {
    return { rangeTime: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="rangeTime" :start="8" :end="20" />
</template>

Tamaños ​

Tamaños
vue
<script setup lang="ts">
import { ref } from 'vue'

const smallTime = ref(new Date())
const mediumTime = ref(new Date())
const largeTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="smallTime" size="small" />
  <LhTimePicker v-model="mediumTime" size="medium" />
  <LhTimePicker v-model="largeTime" size="large" />
</template>
vue
<script>
export default {
  data() {
    return {
      smallTime: new Date(),
      mediumTime: new Date(),
      largeTime: new Date(),
    }
  },
}
</script>

<template>
  <LhTimePicker v-model="smallTime" size="small" />
  <LhTimePicker v-model="mediumTime" size="medium" />
  <LhTimePicker v-model="largeTime" size="large" />
</template>

Incrementos ​

Incrementos
vue
<script setup lang="ts">
import { ref } from 'vue'

const stepTime = ref(new Date())
</script>

<template>
  <LhTimePicker v-model="stepTime" :stepMinute="5" :stepSecond="10" />
</template>
vue
<script>
export default {
  data() {
    return { stepTime: new Date() }
  },
}
</script>

<template>
  <LhTimePicker v-model="stepTime" :stepMinute="5" :stepSecond="10" />
</template>

Marcador de posición, solo lectura y control con teclas de dirección ​

placeholder personaliza el texto del marcador de posición; readonly deja el campo en solo lectura; arrow-control permite desplazarse por las columnas con las teclas de dirección para seleccionar; start / end limitan el rango de horas; step-hour / step-minute / step-second personalizan el incremento de cada columna.

placeholder / readonly
vue
<script setup lang="ts">
import { ref } from 'vue'
const tp1 = ref(null)
const tp2 = ref(new Date())
</script>

<template>
  <!-- Texto del marcador de posición -->
  <LhTimePicker v-model="tp1" placeholder="Selecciona la hora del recordatorio" />
  <!-- Solo lectura -->
  <LhTimePicker :model-value="tp2" readonly />
</template>
vue
<script>
export default {
  data() {
    return {
      tp1: null,
      tp2: new Date(),
    }
  },
}
</script>

<template>
  <!-- Texto del marcador de posición -->
  <LhTimePicker v-model="tp1" placeholder="Selecciona la hora del recordatorio" />
  <!-- Solo lectura -->
  <LhTimePicker :model-value="tp2" readonly />
</template>

TimePicker API ​

PropDescripciónTipoPredeterminado
modelValueHora enlazadaDatenull
sizeTamaño"small" | "medium" | "large" | "mini" | "x-large"'medium'
disabledSi se deshabilitabooleanfalse
clearableSi se muestra el botón de borradobooleantrue
placeholderTexto del marcador de posición (si no se pasa, se genera a partir de format, tomando timepicker.hour/minute/second del paquete de idioma)string''
formatFormato de horastring'HH:mm:ss'
readonlyCampo de entrada de solo lecturabooleantrue
arrowControlSi se muestran las flechasbooleanfalse
startHora de inicionumber0
endHora de finnumber24
stepHourIncremento de horasnumber1
stepMinuteIncremento de minutosnumber1
stepSecondIncremento de segundosnumber1
sxPropiedades de diseño rápido sx (p. ej. { mt: 2, w: '50%' }), convertidas a estilos en línea sobre el elemento raíz del disparador (la capa flotante no se ve afectada)LhSxProps—

TimePicker Events ​

EventoDescripciónTipo
update:model-valueSe dispara cuando cambia el valor(value: Date) => void
changeSe dispara al confirmar el cambio de valor(value: Date) => void

Definiciones de tipos ​

Este componente exporta las siguientes estructuras de tipos TypeScript (extraídas automáticamente de los fuentes packages/components/time-picker/src/types.ts y @lh-ui/share/core/*; abre cada entrada para ver la definición completa; consulta la tabla de Props de arriba para la descripción de los atributos):

LhTimePickerProps
ts
export interface LhTimePickerProps {
  modelValue?: Date | null
  size?: LhComponentSize
  disabled?: boolean
  clearable?: boolean
  placeholder?: string
  format?: string
  readonly?: boolean
  arrowControl?: boolean
  start?: number
  end?: number
  stepHour?: number
  stepMinute?: number
  stepSecond?: number
  /** Propiedades de diseño rápido sx */
  sx?: LhSxProps
}
LhComponentSize (de @lh-ui/share/core/shared)
ts
export type LhComponentSize = (typeof LH_SIZE_CONST)[keyof typeof LH_SIZE_CONST]

La belleza de la tradición, el cimiento del código