<Teleport> Teleportar para Outra Posição do DOM

Última atualização: 2026-10-22

<Teleport> Teleportar para Outra Posição do DOM

O renderiza o conteúdo em outro lugar do DOM (como o body), resolvendo cortes por overflow e limites de contexto de empilhamento em modais e menus.

GrupoIntegrados
TipoComponente / Elemento
EscopoTemplate
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

<Teleport to="body">
  <div class="modal">Conteúdo do modal</div>
</Teleport>

⚙️ Argumentos

propsto (seletor CSS ou elemento) / disabled (desativa a teleporte)

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

The modal mounts under body, escaping the #app container.

💡 Pontos-chave

ℹ️ Nota Logicamente continua sendo filho do componente: props, eventos e relações provide/inject permanecem inalterados.
💡 Dica Prefira teleportar para o body ou um contêiner dedicado de camadas, evitando interferência de overflow/z-index dos ancestrais.
ℹ️ Nota A ordem de múltiplos Teleports pode ser controlada com v-if; disabled renderiza no lugar temporariamente.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Por que os modais são cortados?
R Ancestrais com overflow:hidden ou transform criam um novo contexto de empilhamento; teleportar para o body contorna isso.
P Os eventos ainda borbulham pela árvore de componentes?
R Eventos de DOM borbulham pelo DOM real, mas os eventos de componente Vue e a reatividade permanecem inalterados.
P Posso teleportar para um contêiner específico?
R Sim: to="#modal-root", garantindo antes que o elemento alvo exista.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%