Ir para o conteúdo principal
WBC - GovBR-DS
Copiar página como Markdown para IA

Dropdown

Componente estável e recomendada para novos projetos.
Anatomia, uso, comportamento visual e recomendações conceituais são mantidos pelo Padrão Digital de Governo. Esta página documenta a implementação Web Components e sua API executável.

Visão Geral

Design System

Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o Design System do GovBR.

Exemplo(s)

Desktop (100%)
Tablet - 768px
iPhone (iOS) - 390x844
Android - 360x800
Compartilhar URL
Mudar fundo
Abrir no StackBlitz
Tela cheia
HTML
Controles
JS
CSS
Console
Angular (Somente leitura)
React (Somente leitura)
Vue (Somente leitura)
Acessibilidade
Recolher controles e código
Formatar código
Resetar código para o estado inicial
Copiar para a área de transferência

Fluxo e sobreposição

O painel do dropdown é uma superfície ancorada fora do fluxo (position: absolute), portanto abrir ou fechar o componente não reserva espaço nem desloca o conteúdo seguinte. No fallback CSS ele usa a camada flutuante 1; o valor público targetZIndex continua podendo sobrescrever essa camada.

Ao abrir um bloqueador externo — scrim, cookiebar modal ou menu sobreposto — o dropdown é fechado. Se estiver contido nesse bloqueador, ele permanece disponível e é posicionado dentro do respectivo contexto de pintura.

Propriedades

ariaLabel

Atributoaria-label
DescriçãoDefine o rótulo acessível usado por tecnologias assistivas.

> Uso compartilhado: mantenha esta descrição idêntica em todos os componentes que usam ariaLabel.
Tipostring
Valor padrão---

arrowPosition

Atributoarrow-position
DescriçãoDefine o posicionamento da seta ('left' ou 'right') em relação ao elemento acionador.
O valor padrão é 'right'.
Tipo"left" | "right"
Valor padrão'right'

customId

Atributocustom-id
DescriçãoIdentificador único do componente.
Quando omitido, um valor é gerado automaticamente.

> Padrão: valor único gerado por generateUniqueId().

> Uso compartilhado: mantenha esta descrição idêntica em todos os componentes que usam customId.
Tipostring
Valor padrãogenerateUniqueId()

disabled

Atributodisabled
DescriçãoDesabilita a interação com o componente.

> Uso compartilhado: mantenha esta descrição idêntica em todos os componentes que usam disabled.
Tipoboolean
Valor padrãofalse

isOpen

Atributois-open
DescriçãoIndica se o dropdown está aberto ou fechado.
Esta propriedade é refletida no DOM e pode ser alterada externamente.
O valor padrão é falso (fechado).
Tipoboolean
Valor padrãofalse

placement

Atributoplacement
DescriçãoDefine o posicionamento do target (alvo) em relação ao trigger (acionador).
Tipo"bottom" | "bottom-end" | "bottom-start" | "left" | "right" | "top" | "top-end" | "top-start"
Valor padrão'bottom-start'

preventAutoDismiss

Atributoprevent-auto-dismiss
DescriçãoDefine se o dropdown deve permanecer aberto quando outro dropdown é aberto.
Quando definido como false (padrão), o dropdown será fechado automaticamente quando outro dropdown for aberto.
Quando definido como true, o dropdown permanecerá aberto mesmo quando outro dropdown for aberto.
Tipoboolean
Valor padrãofalse

showArrow

Atributoshow-arrow
DescriçãoExibe uma seta ao lado do elemento acionador.
O valor padrão é falso para preservar a apresentação dos triggers existentes.
Tipoboolean
Valor padrãofalse

targetZIndex

Atributotarget-z-index
DescriçãoDefine o z-index do elemento target (alvo) do dropdown.
Permite customizar a ordem de sobreposição do painel dropdown em relação aos demais elementos da página.
O valor padrão utiliza a variável CSS do design system: var(--z-index-layer-1).
Tipostring
Valor padrão'var(--z-index-layer-1)'

Slots

NomeDescrição
"target"Slot para o conteúdo exibido pelo dropdown.
"trigger"Slot para o elemento que aciona a abertura do dropdown.

Eventos

EventoDescriçãoDepreciaçãoPropagação
brDidCloseEmitido quando o dropdown fecha.---true
brDidOpenEmitido quando o dropdown abre.---true
brDropdownChange Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.Use brDropdownOpenChange.true
brDropdownOpenChangeEvento canônico emitido quando o estado aberto muda.---true

Métodos

close

DescriçãoFecha o dropdown e mantém o formato de retorno legado.
Assinaturaclose() => Promise<{ isOpen: boolean; }>
Parâmetros---

hide Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

DescriçãoEsconde o dropdown.
Define a propriedade isOpen como falsa e retorna o novo estado.
Este método pode ser chamado externamente.
Assinaturahide() => Promise<{ isOpen: boolean; }>
DepreciaçãoUse close.
Parâmetros---

open

DescriçãoAbre o dropdown.
Define a propriedade isOpen como verdadeira e retorna o novo estado.
Este método pode ser chamado externamente.
Assinaturaopen() => Promise<{ isOpen: boolean; }>
Parâmetros---

setFocus

DescriçãoDefine o foco no elemento interno do componente.
Este método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto.
AssinaturasetFocus() => Promise<void>
Parâmetros---

CSS Shadow Parts

NomeDescrição
"target"Área de conteúdo exibida pelo dropdown.
"trigger-arrow"Indicador visual opcional do acionador do dropdown.
"trigger"Área do acionador do dropdown.

Dependências

Usado por

Depende de

Gráfico