Skip to content
API 风格:

Sélecteur d'heure ​

LhTimePicker est un sélecteur permettant de choisir l'heure, les minutes et les secondes avec précision.

Utilisation de base ​

Utilisation de base
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>

État désactivé ​

État désactivé
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>

Formatage de l'heure ​

Formatage de l'heure
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>

Bouton d'effacement ​

Bouton d'effacement
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>

Plage horaire personnalisée ​

Plage horaire personnalisée
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>

Tailles ​

Tailles
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>

Incréments ​

Incréments
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>

Espace réservé, lecture seule et navigation par flèches ​

placeholder personnalise le texte d'espace réservé ; readonly passe en lecture seule ; arrow-control permet de parcourir les colonnes avec les flèches directionnelles ; start / end limitent la plage horaire ; step-hour / step-minute / step-second personnalisent l'incrément de chaque colonne.

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

<template>
  <!-- Texte d'espace réservé -->
  <LhTimePicker v-model="tp1" placeholder="Choisir l'heure du rappel" />
  <!-- Lecture seule -->
  <LhTimePicker :model-value="tp2" readonly />
</template>
vue
<script>
export default {
  data() {
    return {
      tp1: null,
      tp2: new Date(),
    }
  },
}
</script>

<template>
  <!-- Texte d'espace réservé -->
  <LhTimePicker v-model="tp1" placeholder="Choisir l'heure du rappel" />
  <!-- Lecture seule -->
  <LhTimePicker :model-value="tp2" readonly />
</template>

TimePicker API ​

PropDescriptionTypeValeur par défaut
modelValueHeure liéeDatenull
sizeTaille"small" | "medium" | "large" | "mini" | "x-large"'medium'
disabledDésactivébooleanfalse
clearableAffiche le bouton d'effacementbooleantrue
placeholderTexte d'espace réservé (lorsqu'il n'est pas fourni, généré à partir du format via les messages linguistiques timepicker.hour/minute/second)string''
formatFormat de l'heurestring'HH:mm:ss'
readonlyChamp en lecture seulebooleantrue
arrowControlAffiche les flèchesbooleanfalse
startHeure de débutnumber0
endHeure de finnumber24
stepHourIncrément des heuresnumber1
stepMinuteIncrément des minutesnumber1
stepSecondIncrément des secondesnumber1
sxPropriétés de mise en page rapide (par ex. { mt: 2, w: '50%' }), converties en styles inline appliqués à la racine du déclencheur (le panneau flottant n'est pas affecté)LhSxProps—

TimePicker Events ​

ÉvénementDescriptionType
update:model-valueÉmis lorsque la valeur change(value: Date) => void
changeÉmis lorsque la valeur est confirmée(value: Date) => void

Définitions de types ​

Les structures de types TypeScript exportées par ce composant sont les suivantes (extraites automatiquement de packages/components/time-picker/src/types.ts et de @lh-ui/share/core/* ; cliquez sur chaque entrée pour afficher la définition complète ; les descriptions des props se trouvent dans le tableau Props ci-dessus) :

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
  /** Propriétés de mise en page rapide sx */
  sx?: LhSxProps
}
LhComponentSize (provenant de @lh-ui/share/core/shared)
ts
export type LhComponentSize = (typeof LH_SIZE_CONST)[keyof typeof LH_SIZE_CONST]

La beauté de la tradition, la fondation du code