J'utilise Angular avec Material
<button mat-icon-button><mat-icon svgIcon="thumb-up"></mat-icon>Start Recording</button>
J'essaie d'ajouter une icône au bouton, mais je ne peux pas comprendre comment le faire et je ne trouve pas de documentation pour cela.
https://material.angular.io/components/button/api
en regardant les docs, il y a ceci:
ce bouton a le code HTML suivant:
<a _ngcontent-c1="" aria-label="Angular Material" class="docs-button mat-button" mat-button="" routerlink="/" tabindex="0" aria-disabled="false" href="/"><span class="mat-button-wrapper">
<img _ngcontent-c1="" alt="angular" class="docs-angular-logo" src="../../../assets/img/homepage/angular-white-transparent.svg">
<span _ngcontent-c1="">Material</span>
</span> <div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay">
</div>
</a>
est-ce la bonne façon de le faire?
Ajoutez simplement le <mat-icon>
dans mat-button
ou mat-raised-button
. Voir l'exemple ci-dessous. Non pas que j'utilise une icône de matériau à la place de votre svg à des fins de démonstration:
<button mat-button>
<mat-icon>mic</mat-icon>
Start Recording
</button>
OU
<button mat-raised-button color="accent">
<mat-icon>mic</mat-icon>
Start Recording
</button>
Voici un lien vers stackblitz demo .
Tout ce que vous avez à faire est d’ajouter la directive mat-icon-button à l’élément button de votre modèle. Dans l'élément de bouton, spécifiez l'icône souhaitée avec un composant mat-icon.
Vous devrez importer MatButtonModule et MatIconModule dans votre fichier de module d'application.
Dans la page exemple de boutons Matériau angulaire, cliquez sur le bouton Afficher le code et vous verrez plusieurs exemples utilisant la police des icônes de matériau, par exemple.
<button mat-icon-button>
<mat-icon aria-label="Example icon-button with a heart icon">favorite</mat-icon>
</button>
Dans votre cas, utilisez
<mat-icon>thumb_up</mat-icon>
Selon le guide de démarrage de https://material.angular.io/guide/getting-started , vous devez charger la police de l'icône du matériau dans votre index.html.
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Ou importez-le dans votre styles.scss global.
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
Comme il est mentionné, toute police d’icône peut être utilisée avec le composant mat-icon.
Ajouter à app.module.ts
importer {MatIconModule} à partir de '@ angular/material/icon';
& link dans votre index.html global.
Ma préférence est d'utiliser l'attribut inline
. Cela entraînera une mise à l'échelle correcte de l'icône avec la taille du bouton.
<button mat-button>
<mat-icon inline=true>local_movies</mat-icon>
Movies
</button>
<!-- Link button -->
<a mat-flat-button color="accent" routerLink="/create"><mat-icon inline=true>add</mat-icon> Create</a>
J'ajoute ceci à mon styles.css
à:
button.mat-button .mat-icon,
a.mat-button .mat-icon,
a.mat-raised-button .mat-icon,
a.mat-flat-button .mat-icon,
a.mat-stroked-button .mat-icon {
vertical-align: top;
font-size: 1.25em;
}
Les icônes Matériau utilisent la police Matériau, et la police doit être incluse dans la page.
Voici le CDN de Google Web Fonts:
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">