angular - ¿Iconos personalizados con Ionic 5?
Recientemente actualicé de Ionic 4 a Ionic 5. Con Ionic 5, los iconos también recibieron una actualización. Sin embargo, al parecer, también cambió el mecanismo que carga los iconos.
En Ionic 4 era posible agregar íconos personalizados así: Ionic 4: Íconos personalizados hechos simples
Agrega por ejemplo ios-my-custom-icon.svg y md-my-custom-icon.svg en una carpeta icon dentro de assets. Luego era necesario referenciarlos en el angular.json así:
"assets": [
{
"glob": "**/*.svg",
"input": "src/assets/icon",
"output": "./svg"
}
]
y finalmente uno podría llamarlos como los otros íconos de ion en HTML:
<ion-icon name="my-custom-icon"></ion-icon>
Sin embargo, esto ya no funciona en Ionic 5. ¿Alguien sabe cómo podemos implementar ahora iconos personalizados en Ionic 5?
EDITAR: Me di cuenta de que todavía es posible llamarlos a través del atributo src como
<ion-icon src="assets/icon/md-my-custom-icon.svg"></ion-icon>
Sin embargo, eso no es tan conveniente como usar el atributo name. ¿Hay alguna posibilidad de que tengamos algún equivalente a lo anterior?
Respuesta #1
Necesitas quitar el md- del nombre del ícono.
Por ejemplo, tu icono es md-my-custom-icon.svg
Cambia a my-custom-icon.svg. Después de eso, los íconos personalizados funcionarán nuevamente en Ionic 5
Salud
ACTUALIZACIÓN
Tuve que volver a poner el md- en el nombre del icono y en realidad agregar el md- a la etiqueta del icono ion como se muestra a continuación. De esta manera usa mi icono personalizado y no el predeterminado.
<ion-icon name="md-my-custom-icon"></ion-icon>Respuesta #2
Siempre podrías usar [] y luego proporcionar una variable si lo prefieres:
const myCustomIcon = "/assets/icons/custom.svg";
Y en el marcado:
<ion-icon [src]="myCustomIcon"></ion-icon>