40
votes

L'icône vuetify ne s'affiche pas

J'utilise vue.js et vuetify . Je veux ajouter une icône mais ne fonctionne pas. (non rendu)

Comment puis-je réparer cela?

veuillez vous référer au code suivant

main.js

<i class="material-icons">
keyboard_arrow_down
</i>

index.html

<link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">

calendrier.vue

import Vue from 'vue'
import Vuetify from "vuetify";
import "vuetify/dist/vuetify.min.css";

Vue.use(Vuetify);

Je veux que ça ressemble à une icône, pas à du code

entrez la description de l'image ici


1 commentaires

Vous avez accepté la mauvaise réponse. Êtes-vous en mesure de modifier votre sélection pour mieux aider les autres à trouver le bon résultat? stackoverflow.com/a/57535771/5735265 doit être le résultat accepté.


10 Réponses :


-15
votes

Si vous utilisez Vuetify, vous devez simplement utiliser le composant <v-icon> qui prend en charge les icônes Material et Font Awesome: documentation

Exemple:

<v-icon>arrow_downward</v-icon>

En utilisant Vuetify, vous n'aurez plus besoin d'utiliser la syntaxe class="icon_name" .

EDIT: références d'icônes - Material Design & Font Awesome

EDIT 2: Ça fait un an, je suis revenu pour voir que les gens votent simplement et envoient du spam "ce n'est pas la réponse" dans les commentaires, ça me dérange pas mal avec les notifications. C'est vrai, ce n'est pas la réponse mais ça a été approuvé donc je ne peux rien y faire. Vérifiez la réponse de Hasnat Safder ci-dessous pour la solution.


3 commentaires

Ce n'est pas la réponse à cette question


Il s'agit d'un problème de configuration et non d'un problème de syntaxe, voir la réponse ci-dessous par Hasnat safder.


Ce n'est pas la réponse à cette question. Voir le message de @Hasnat Safder ci-dessous pour une réponse correcte.



144
votes

Avec Vue CLI 3, nous n'avons pas d' index.html dans le dossier src , vous pouvez donc

import 'material-design-icons-iconfont/dist/material-design-icons.css'

et importez-le dans le fichier main.js

npm install --save material-design-icons-iconfont


9 commentaires

Je pense que cette réponse est en fait la réponse au problème car vuetify fournit naturellement v-icon. Le changement depuis vue-cli 3 rend cette réponse plus pertinente. Merci @Hasnat


C'est la bonne réponse! Je viens de faire un nouveau projet Vue-cli, en suivant le démarrage rapide de Vuetify et en copiant l'un de leurs modèles et icônes ne s'affichaient pas - et c'était la solution. Cela m'a pris du temps vraiment.


Cela fonctionne parfaitement avec Vue CLI 3 et Vuetify. Merci!


Ça a marché. Le document Vuetify devrait le souligner. ça m'a pris beaucoup de temps


J'ai utilisé du fil pour ajouter un matériau-design-icons-iconfont et importer après des travaux géniaux


cette solution fonctionne pour moi. Une autre solution utilisant fontawesome, suivez les étapes de la documentation officielle ici


Tu as sauvé ma journée, je ne savais pas qu'ils avaient changé son nom!


cela fonctionne grâce, également avec cette alternative, nous n'avons pas besoin d'ajouter un mdi- comme préfixe


Fonctionne comme un charme. Merci!



6
votes

Vous pouvez faire face au même problème si vous utilisez Nuxt.js. Pour résoudre ce problème, vous devez déclarer les icônes Material Design dans votre CSS ... via le CDN, par exemple, comme ci-dessous:

link: [
  { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
    {
      rel: 'stylesheet',
      href:
          'https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons'
    }
]


0 commentaires

33
votes

Avait ce problème avec Vuetify 2.1.3 installé via le vuetify-loader 1.2.2

On dirait que les solutions précédentes ne fonctionnent pas car la bibliothèque d'icônes par défaut a été changée en mdi-font.

La solution était:

import '@mdi/font/css/materialdesignicons.css'

Et dans le fichier main.js (ou plugins/vueitfy.js s'il existe) ajoutez cette ligne sous les importations

yarn add @mdi/font


4 commentaires

Ceci est également indiqué dans la documentation officielle - cependant, le problème est toujours là. La seule façon de faire fonctionner ces icônes est d'utiliser la solution @hasnat Safder fournie.


@Orochi, c'est quelque chose de bizarre qui se passe, je souhaite qu'ils le réparent


C'est la solution qui a fonctionné pour moi, pas de Hasnat Safder. Sauf, j'ai importé dans main.js car je ne trouve pas vuetify.js


Pour moi, les icônes étaient affichées en mode développement (npm run serve) mais PAS en production (npm run build). L'installation de polices avec 'npm install --save @ mdi / font "et l'importation dans vuetify.js ont sauvé ma journée.



1
votes

Lisez les derniers documents publiés et incluez le code ci-dessous dans votre index.html

<link href="https://cdn.jsdelivr.net/npm/@mdi/font@4.x/css/materialdesignicons.min.css" rel="stylesheet">

Référence


1 commentaires

Aucune autre solution n'a fonctionné pour moi, à part cela.



2
votes

Si vous utilisez Nuxt avec Vuetify et que les icônes de matériaux n'apparaissent pas dans Firefox:

css: ["@mdi/font/css/materialdesignicons.css"]

Ensuite, dans votre nuxt.config.js ajoutez l'entrée suivante à votre champ css :

npm install import @mdi/font


0 commentaires

1
votes

Vous pouvez importer tous les styles nécessaires

app.scss

@import "https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900";
@import "https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css";
@import "https://fonts.googleapis.com/css?family=Material+Icons";
@import '~vuetify/dist/vuetify.css';


0 commentaires

1
votes

Une solution de @Hasnat Safder fonctionne pour moi, mais une commande dans main.js est importante:

import 'material-design-icons-iconfont/dist/material-design-icons.css';
import vuetify from './plugins/vuetify';


0 commentaires

0
votes

La manière du fil (similaire à la réponse de Hasnat):

import 'material-design-icons-iconfont/dist/material-design-icons.css';

et importez dans le fichier vuetify.js (ou main.js s'il n'existe pas) comme ceci:

yarn add material-design-icons-iconfont


0 commentaires

0
votes

A travaillé pour moi:

import '@mdi/font/css/materialdesignicons.css'

puis en plaçant ceci dans les plugins / vuetify.js:

npm install @mdi/font

Utilisation de "vuetify": "^ 2.3.19", "vue": "^ 2.6.12",


0 commentaires