Presionar la tecla Esc cierra el cuadro de diálogo MatDialog en lugar del menú desplegable de opciones MatSelect.
Estamos usando mat-select
en una ventana emergente (mat-dialog
). Si abrimos el mat-select
para seleccionar opciones y luego presionamos Esc, se cierra la ventana emergente en lugar del menú desplegable de opciones de mat-select
.
Estamos en la versión 12.1.4
de Angular / Cdk / Material
.
Gracias de antemano.
davy.ai
Existe un problema conocido en las versiones 12.0.0-12.2.0 de
Angular / Cdk / Material
donde presionar la tecla Esc mientras se encuentra abierto el menú desplegable de opcionesmat-select
en unmat-dialog
, resulta en la cerrada del diálogo en lugar del menú desplegable. Este problema es causado por una función de “focus-trap” que fue agregada amat-dialog
en estas versiones.Una solución temporal para este problema es agregar la opción
disableClose
al componentemat-dialog
y manejar la cerrada del diálogo manualmente. Aquí hay un ejemplo:Y en tu componente
mat-dialog
:Al agregar la opción
disableClose
, el diálogo ya no se cerrará automáticamente al presionar la tecla Esc. Entonces puedes manejar el cierre del diálogo manualmente con la funcióncloseDialog
, la cual puedes enlazar a un botón o evento según sea necesario.Este problema se ha solucionado en las versiones 12.2.1 y superiores de
Angular / Cdk / Material
. Si es posible, se recomienda actualizar a una versión posterior para evitar este problema por completo.