Verificamos profundamente cada tutoriales de nuestro sitio web con la meta de mostrarte siempre información veraz y actual.
Solución:
Configure su botón para que esté deshabilitado si el formulario no es válido. De esta forma, no se puede hacer clic en el botón a menos que el formulario sea válido, lo que significa que no se cerrará a menos que el formulario sea válido.
Solo para completar la respuesta: mat-dialog-close
cerrará su cuadro de diálogo si se hace clic en él, sin importar el valor que le asigne. Si desea controlar si al hacer clic en él se cerrará el cuadro de diálogo, use [disabled]="formisvalid"
como [other answer] estados
Sin embargo, el valor asignado a mat-dialog-close
no se ignora. Se interpreta como el diálogo. resultado valor, y como tal puede ser leído por el componente que abrió el cuadro de diálogo, suscribiéndose a dialogRef.afterClosed()
. Este comportamiento se explica en la documentación oficial:
- https://material.angular.io/components/dialog/overview#dialog-content
- https://material.angular.io/components/dialog/api#MatDialogClose
- https://material.angular.io/components/dialog/api#MatDialogRef
Aquí puede pasar cualquier número de valores como array a una attribute [mat-dialog-close]
En el componente principal, puede suscribirse al resultado después de cerrar el cuadro de diálogo como se muestra a continuación
dialogRef.afterClosed().subscribe(result =>
console.log(result);
);
Comentarios y valoraciones del tutorial
Te invitamos a auxiliar nuestro estudio añadiendo un comentario y dejando una valoración te lo agradecemos.