Skip to content

Sélecteur ​

Utilisation de base ​

vue
<template>
  <lh-select v-model="value" :options="options" placeholder="Sélectionner" />
</template>

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

const value = ref()
const options = [
  { label: 'Option 1', value: 'a' },
  { label: 'Option 2', value: 'b' },
  { label: 'Option désactivée', value: 'c', disabled: true },
]
</script>

Vidable et filtrable ​

vue
<template>
  <lh-select v-model="value" :options="options" clearable />
  <lh-select v-model="value" :options="options" filterable placement="bottom" />
</template>

Props ​

PropDescriptionTypeValeur par défaut
modelValue (v-model)Valeur liéeunknown—
optionsListe des optionsLhSelectOption[]—
sizeTaille'small' | 'medium' | 'large'—
disabledDésactivébooleanfalse
clearableVidablebooleanfalse
placeholderTexte de l'espace réservéstring—
filterableFiltrable (côté MP, un champ de saisie est fourni dans le calque)booleanfalse
placementPosition du calque (12 positions)LhPlacement'bottom'
customClassNom de classe personnaliséstring—
themeVarsVariables de thème de niveau composantRecord<string, string>—
sxPropriétés de mise en page rapideLhSxProps—

LhSelectOption ​

PropDescriptionType
labelTexte affichéstring
valueValeurunknown
disabledDésactivéboolean

Events ​

ÉvénementDescriptionParamètre de callback
update:modelValueChangement de valeur(value)
changeChangement de valeur (y compris le vidage vers undefined)(value)
visible-changeAffichage / masquage du calque(visible: boolean)

Différences avec la version Vue3

  • Le calque passe par root-portal + mesure asynchrone sur deux images (et non par un positionnement absolute).
  • La navigation clavier (haut / bas / Home / End) est uniquement disponible sur H5 : le Mini Programme n'a pas d'événements clavier, elle est supprimée à la compilation — côté MP, seuls les clics sur les options sont possibles.
  • Le champ de saisie du filtrage filterable est, côté MP, rendu à l'intérieur du calque.