Skip to content

Campo de seleção

AlpopSelectField usa um <select> nativo (sem jQuery/select2).

O controle fechado replica o visual "moderno" dos projetos da Alpop (mesma altura, borda, raio e anel de foco). Já o menu aberto e a seleção múltipla são renderizados pelo navegador/sistema operacional, então não reproduzem a aparência do select2 usado nas telas legadas: é o custo intencional de não depender de jQuery/select2.

Valor: —

Seleção múltipla

Com multiple, o campo usa um <select multiple> nativo e o v-model passa a ser um Array com os ids selecionados.

Valor: —

Opções carregadas pela aplicação

Para consumir dados da API, passe um fetchOptions. A função é chamada no mounted do componente e deve resolver para a mesma estrutura [{ id, text }]. Assim o componente continua desacoplado do cliente HTTP de cada aplicação.

Props

PropTipoPadrãoDescrição
nameStringNome do campo (obrigatório)
labelStringnullRótulo
optionsArray[]Lista [{ id, text }]
fetchOptionsFunctionnullFunção async que retorna [{ id, text }]
modelValueString|Number|Boolean|Array""Valor (v-model); Array quando multiple
includeBlankBooleanfalseInclui uma opção vazia
multipleBooleanfalseSeleção múltipla nativa; emite um Array
blankTextString"Selecione…"Texto da opção vazia
loadingTextString"Carregando…"Texto exibido enquanto fetchOptions resolve
placeholderStringnullTexto da opção em branco; quando definido, tem precedência sobre blankText
iconStringnullÍcone opcional à esquerda

Eventos

EventoPayloadQuando
update:modelValueString|Number|Boolean|ArrayAo alterar a seleção (usado por v-model)
inputString|Number|Boolean|ArrayJunto com update:modelValue; disponível para quem não usa v-model
errorErrorQuando fetchOptions rejeita

O payload é um Array quando multiple está ativo, e o valor da opção selecionada caso contrário.