1
resposta

[Dúvida] Modal não fecha ao pressionar ESC

Desenvolvi o codigo para a ação de fechar o modal com a tecla ESC porém não está fechando:

@HostListener('document:keydown.scape') fechaModalAoPressionarESC() { if (this.statusModal) { this.fecharModal(); } }

O que devo está esquecendo de fazer?

1 resposta

Olá, como vai você?

Observando o seu código, notei um pequeno erro de digitação que pode ser a causa do problema. Você escreveu 'scape' ao invés de 'escape' no seu decorator @HostListener. A correção deve ser bem simples:

@HostListener('document:keydown.escape') fechaModalAoPressionarESC() {
  if (this.statusModal) {
    this.fecharModal();
  }
}

Certifique-se de que o nome do evento esteja correto como 'document:keydown.escape'. Isso deve permitir que o Angular ouça corretamente o evento de pressionamento da tecla ESC e execute o método fechaModalAoPressionarESC quando a tecla for pressionada.

Além disso, verifique se a variável statusModal está corretamente definida e atualizada no seu componente para refletir quando o modal está aberto ou fechado. Isso é crucial para que a condição dentro do método funcione como esperado.

Espero ter ajudado!

Abraços e bons estudos!