BjCombobox

Champ d’autocomplétion Vue avec filtrage à la saisie, v-model sur la value sélectionnée, options, libellé, aide, erreur, message, désactivation et texte sans résultat.

Utilisation

<script setup>
import { ref } from 'vue'
import { BjCombobox } from '@flrxnt/dsbj/vue'

const city = ref('')
const cities = [
  { value: 'cotonou', label: 'Cotonou' },
  { value: 'porto', label: 'Porto-Novo' },
  { value: 'parakou', label: 'Parakou' },
  { value: 'abomey', label: 'Abomey-Calavi' },
  { value: 'djougou', label: 'Djougou' },
]
</script>

<template>
  <BjCombobox
    v-model="city"
    label="Ville"
    hint="Commune de résidence"
    placeholder="Rechercher une ville…"
    :options="cities"
  />
</template>

v-model (update:modelValue)

Le composant émet update:modelValue avec la value de l’option choisie (chaîne).

<script setup lang="ts">
import { ref, watch } from 'vue'
import { BjCombobox } from '@flrxnt/dsbj/vue'

const selectedId = ref('')
watch(selectedId, (v) => console.log('update:modelValue', v))
</script>

<template>
  <BjCombobox v-model="selectedId" :options="items" label="Code" />
</template>

Aperçu

Commune de résidence
  • Porto-Novo

Erreur et message

Sélectionnez une ville dans la liste.

<BjCombobox
  v-model="city"
  label="Ville"
  :options="cities"
  :error="true"
  message="Sélectionnez une ville dans la liste."
/>

Désactivé

<BjCombobox
  v-model="city"
  label="Ville"
  :options="cities"
  :disabled="true"
/>

noResults

Aucune correspondance pour cette saisie.

<BjCombobox
  v-model="city"
  label="Ville"
  :options="cities"
  no-results="Aucune correspondance pour cette saisie."
/>

Erreur × liste ouverte

  • Cotonou

Champ invalide.

Props

PropDescription
modelValueValeur sélectionnée (v-model), chaîne ; émis via update:modelValue.
labelLibellé au-dessus du champ.
hintTexte d’aide sous le libellé.
optionsTableau d’objets avec value, label et disabled optionnel.
errorMet le champ en état d’erreur (bj-combobox--error, aria-invalid).
messageMessage sous le champ (couleur selon error).
disabledDésactive le combobox.
placeholderPlaceholder du champ de saisie.
noResultsTexte affiché quand aucune option ne correspond à la saisie.