Skip to content

Selector ​

Uso básico ​

vue
<template>
  <lh-select v-model="value" :options="options" placeholder="Selecciona..." />
</template>

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

const value = ref()
const options = [
  { label: 'Opción uno', value: 'a' },
  { label: 'Opción dos', value: 'b' },
  { label: 'Elemento desactivado', value: 'c', disabled: true },
]
</script>

Se puede vaciar / filtrar ​

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

Props ​

PropDescripciónTipoPredeterminado
modelValue (v-model)Valor enlazadounknown—
optionsLista de opcionesLhSelectOption[]—
sizeTamaño'small' | 'medium' | 'large'—
disabledDesactivadobooleanfalse
clearableSe puede vaciarbooleanfalse
placeholderTexto del marcador de posiciónstring—
filterableSe puede filtrar (en la plataforma MP el campo de entrada va dentro de la capa flotante)booleanfalse
placementPosición de la capa flotante (12 posiciones)LhPlacement'bottom'
customClassClase personalizadastring—
themeVarsVariables de tema a nivel de componenteRecord<string, string>—
sxProps rápidas de disposiciónLhSxProps—

LhSelectOption ​

PropDescripciónTipo
labelTexto que se muestrastring
valueValorunknown
disabledDesactivadoboolean

Events ​

EventoDescripciónParámetros de la retrollamada
update:modelValueCambio de valor(value)
changeCambio de valor (incluido el vaciado con undefined)(value)
visible-changeMostrado / ocultado de la capa flotante(visible: boolean)

Diferencias frente a la versión Vue3

  • La capa flotante usa root-portal + medición asíncrona en dos fotogramas (no es posicionamiento absolute).
  • La navegación por teclado (↑↓ / Home / End) solo en H5: el Mini Programa no tiene eventos de teclado y se elimina en tiempo de compilación; en la plataforma MP solo se puede hacer clic en una opción.
  • El campo de entrada de filtrado de filterable, en la plataforma MP, se renderiza dentro de la propia capa flotante.