En este post te mostraré cómo lanzar o mostrar un Snackbar en Angular Material, es decir, el paquete que combina los estilos Material Design para el framework Angular.
En app.module.ts importa a MatSnackbarModule
así:
import {MatSnackBarModule} from '@angular/material/snack-bar';
Después colócala dentro de imports
en el mismo archivo:
@NgModule({
declarations: [
//...
],
imports: [
//...
MatSnackBarModule, // <-- Aquí
//...,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
Lo anterior solo se debe hacer una vez. Lo que viene a continuación se hace por cada componente en donde lo vayas a usar (y si encuentras la manera de encapsular todo en una función para reutilizar código, eres libre de ello)
Ahora cada que quieras usar el SnackBar con Angular material debes importar a MatSnackBar
:
import {MatSnackBar} from "@angular/material/snack-bar";
E inyectarlo en el constructor de tu componente:
constructor(private snackBar: MatSnackBar) {
}
Ahora sí veamos cómo mostrar snackbars en Angular.
Lo único que necesitas es invocar al método open
con el mensaje que quieres mostrar. Recuerda que snackBar
es el nombre de la variable que inyectamos en el constructor para usar a MatSnackBar
.
this.snackBar.open("Probando snackbar en parzibyte.me");
Igualmente puedes pasar una acción en forma de cadena como segundo argumento. Por defecto, el segundo argumento es una cadena vacía.
Para saber si el usuario hace click en la acción debes suscribirte al observable que devuelve onAction
:
const miSnackBar = this.snackBar.open("Producto eliminado", "Deshacer");
miSnackBar.onAction().subscribe(() => {
alert("Presionaste la acción!");
});
Nota: no sé si solo me pasa a mí, pero cuando uso este método el snackbar no se oculta automáticamente. Sigue leyendo para ver cómo indicar el tercer argumento para la configuración
Del mismo modo que puedes escuchar cuando se selecciona la acción del snackbar, puedes saber cuando el snackbar se oculta:
const miSnackBar = this.snackBar.open("Producto eliminado", "Deshacer");
miSnackBar.afterDismissed().subscribe(() => {
alert("Snackbar se ha ocultado");
});
Finalmente veamos el ejemplo para configurar el snackbar. Por ejemplo, el tiempo que debe pasar para que se oculte, su posición, etcétera.
En este caso yo no quiero que se muestre la acción así que paso una cadena vacía:
this.snackBar.open("Producto guardado", "", {
duration: 1500,
horizontalPosition: "start",
verticalPosition: "top",
});
El resultado es:
Podría seguir con más ejemplos, pero mejor te dejo el enlace a la documentación oficial, igual y cuando leas esto las cosas han cambiado.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
Me surge la duda en como manejarias multiples notificaciones, es decir que vayan acoplandose una debajo de otra y desapareciendo a meida que los segundos se terminan
¡Genial! Estuve un rato batallando y con tu guía me funcionó perfecto. Muchas gracias
De nada. Saludos!