Pular para o conteúdo principal

Select

Base

O componente Select permite selecionar um ou mais itens de uma lista de opções.

Placeholder

Utilize a propriedade placeholder para exibir um texto de apoio quando nenhuma opção estiver selecionada.

Opções

Utilize o subcomponente Select.Option para definir uma ou mais opções.

Conteúdo da opção

Além de um texto simples, é possível inserir outros componentes como filhos do Select.Option para criar opções visualmente mais complexas.

A label associada a uma opção é, por padrão, definida como o texto interno (textContent) do Select.Option correspondente. Por isso, quando for preciso criar opções mais elaboradas utilize o subcomponente Select.Option.Label para definir explicitamente o label.

Informação

O subcomponente Select.Option.Label sempre irá ocupar todo espaço disponível horizontalmente.

Opção desabilitada

Utilize a propriedade disabled do subcomponente Select.Option para desabilitar uma opçãoo.

Grupo de opções

Envolva as opções no subcomponente Select.Group para agrupá-las.

Grupo colapsável

Utilize a propriedade collapsible do subcompoente Select.Option para que, assim como o Accordion, seu conteúdo possa ser contraído ou expandido.

Utilize a propriedade defaultClose para que um grupo colapsável inicie contraído.

Separador

Utilize o subcomponente Select.Divider para separar opções.

Seleção múltipla

Utilize a propriedade multiple para indicar que se trata de um componente Select com múltipla seleção.

Valor inicial e controle de estado

Utilize a propriedade defaultvalue para prover um valor inicial ao componente Select não controlado, ou utilize a propriedade value para gerenciar o valor do Select controlado.

Os valores atribuídos ao defaultValue ou ao value do Select devem ser correspondentes àqueles existentes na propriedade value do subcomponente Select.Option. Caso a intenção seja de que nenhuma das opções disponíveis esteja selecionada, é necessário fornecer uma string vazio em caso de seleção única ou array vazios em caso de seleção múltipla.

Não controlado

Utilize a propriedade defaultValue para definir o valor inicial do Select.

Controlado

Você deve criar um estado para gerenciar o valor através da propriedade value ao utilizar o Select controlado.

Desabilitado

Utilize a propriedade disabled para impedir a edição ou qualquer outra interação do usuário com o componente Select, tornando-o desabilitado.

Como um campo de formulário

Utilize o componente Select dentro de um Form.Control quando se tratar de um campo de formulário.

Com erro

Utilize a propriedade error para sinalizar que o Select foi preenchido com um valor inválido. Isso aplicará automaticamente um estilo visual que indicará o erro ao usuário.

Com sucesso

Use a propriedade success para indicar que o Select foi preenchido com um valor válido em um cenário onde haja validação. Isso aplicará um feedback visual positivo ao campo de seleção.

Integração com o Form.Control

Assim como em outros componentes de formulário, o componente Select está integrado com o subcomponente Form.Control e recebe as propriedades error e success automaticamente por meio dessa integração.

Controlando a abertura e o fechamento do Dropdown

Use a propriedade open para controlar a abertura e o fechamento do Dropdown do Select.

Customizações

A seguir as principais opções de customização disponíveis para o componente Select.

Ícone

Utilize a propriedade startIcon para adicionar um ícone no início do input.

Valores selecionados

Utilize a propriedade renderInputValue para modificar a forma com os valores selecionados são exibidos no input.

Ao usá-lo, você terá que lidar com a regra de exibir o placeholder quando não houver valor. O estilo ficará limpo, então se você quiser manter o estilo padrão, terá que encapsular o resultado com o componente Select.Display.

Como tags

Utilize o componete Select.DisplayTag como valor da propriedade renderInputValue para renderizar as opções selecionadas como tags.

Informação

Acesse a documentação da API do componente para mais detalhes sobre os valores esperados pela propriedade renderInputValue e as propriedades do subcomponente Select.DisplayTag.

Utilize a propriedade dropdownComponent para prover uma versão customizada do Dropdown utilizado para exibir as opções.

Utilize os subcomponentes Select.Header e Select.Footer para fornecer, respectivamente, um cabeçalho e um rodapé para o Dropdown que exibe as opções.

Indicadores de seleção

Um indicador de seleção é um marcador visual que sinaliza, em conjunto com outros estilos, que a opção está ou não selecionada. Por padrão apenas selects de seleção múltipla possuiem este indicador, no caso, um componente Checkbox.

Utilize a propriedade renderCheck do Select para customizar este indicador de seleção.

Utilize a propriedade renderCheck do subcomponente Select.Option para customizar este indicador de seleção em uma opção em particular.

Informação

Indicadores renderizados pela propriedade renderCheck do subcomponente Select.Option tem precedência sobre os do Select.

Conteúdo da opção

Como indicado anteriormente, além de texto, o subcomponente Select.Option pode ter outros componentes como filhos, criando assim opções mais elaboradas.

A seguir alguns casos de uso mais comuns:

Com texto auxiliar

Utilize a propriedade auxiliaryText do subcomponente Select.Option.Label para prover um texto auxiliar à opção.

Com ícone

Você consegue adicionar ícones no início e no fim de opções.

Com Avatar

Você consegue adicionar o componente Avatar no início das opções.

Com Tag ou Badge

Você consegue adicionar os componentes Tag e Badge no fim das opções.

Feedback