Значок vuetify не отображается

Я использую vue.js и vuetify. Я хочу добавить значок, но не работает. (не отображается) как я могу это исправить?

пожалуйста, обратитесь к следующему коду

main.js

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

Vue.use(Vuetify);

index.html

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

calendar.vue

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

Я хочу, чтобы это выглядело как значок, а не код
введите описание изображения здесь

18 ответов

Решение

Если вы используете Vuetify, то вы должны просто использовать <v-icon> компонент, который поддерживает иконки Material и Font Awesome: документация

Пример:

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

При использовании Vuetify вам в основном не нужно использовать class="icon_name" синтаксис больше.

РЕДАКТИРОВАТЬ: ссылки на значки - Material Design & Font Awesome

С Vue CLI 3 у нас нет index.html в папке src, так что в качестве альтернативы вы можете

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

и импортировать его в файл main.js

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

Была ли эта проблема с Vuetify 2.1.3, установленным через vuetify-loader 1.2.2

Похоже, что предыдущие решения не работают, потому что библиотека значков по умолчанию была изменена на mdi-font.

Решение было:

yarn add @mdi/font

И в файле main.js (или plugins/vueitfy.js если существует) добавьте эту строку ниже импорта

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

У меня работали:

npm install @mdi/font

а затем поместите это в plugins/vuetify.js:

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

Используя "vuetify": "^2.3.19", "vue": "^2.6.12",

Вы можете столкнуться с точно такой же проблемой, если вы используете Nuxt.js. Чтобы решить эту проблему, вы должны объявить значки Material Design в вашем CSS ... через CDN, например, как показано ниже:

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'
    }
]

Если вы используете Nuxt с Vuetify и значки материалов не отображаются в Firefox:

npm install import @mdi/font

Тогда в вашем nuxt.config.js добавьте следующую запись в свой css поле:

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

написать в main.js(или plugins/vuetify.js)

      import "@mdi/font/css/materialdesignicons.css";

Я тоже получил этот ответ отсюда, и он успешно работает )))

Также проверьте свой vuetify конфигурационный файл plugins/vuetify.js

Установка дополнительной мачты iconfont: 'mdi'. В тех же случаях по умолчанию iconfont:'fas'

Я потратил много часов на то, чтобы его найти)

Вот как это сработало для меня

установить

      yarn add @mdi/font -D

// ИЛИ

      npm install @mdi/font -D

Затем добавьте их в main.js или vuetify.js.

      import '@mdi/font/css/materialdesignicons.css' // Ensure you are using css-loader
import { createVuetify } from 'vuetify'

export default createVuetify({
  icons: {
    defaultSet: 'mdi', // This is already the default value - only for display purposes
  },
})

Прочтите последние выпущенные документы и включите приведенный ниже код в свой index.html.

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

Справка

      $ yarn add @mdi/font -D

// ИЛИ $ npm install @ mdi / font -D

// SRC / плагины / vuetify.js

import '@ mdi / font / css / materialdesignicons.css' // Убедитесь, что вы используете css-loader import Vue from 'vue' import Vuetify from 'vuetify / lib'

Vue.use(Vuetify)

экспортировать по умолчанию новый Vuetify({icons: {iconfont: 'mdi', // по умолчанию - только для отображения},})

У меня работает решение от @Hasnat Safder, но важен порядок в main.js:

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

Вы можете импортировать все необходимые стили

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';

Для пользователей Vuetify 3:

Установить:

      npm install @fortawesome/fontawesome-free -D

npm install @mdi/font

main.ts:

      enter code here


import "vuetify/styles";
import { createVuetify, type ThemeDefinition } from "vuetify";
import * as components from "vuetify/components";
import * as directives from "vuetify/directives";

import { fa } from "vuetify/iconsets/fa";
import { aliases, mdi } from "vuetify/lib/iconsets/mdi";
// make sure to also import the coresponding css
import "@mdi/font/css/materialdesignicons.css"; // Ensure you are using css-loader
import "@fortawesome/fontawesome-free/css/all.css"; // Ensure your project is capable of handling css files

const vuetify = createVuetify({
  theme: {
    defaultTheme: "dark",
  },
  icons: {
    defaultSet: "mdi",
    aliases,
    sets: {
      mdi,
      fa,
    },
  },
  components,
  directives,
});

app.use(vuetify);

Кредит: https://www.the-koi.com/projects/setting-up-vue-3-with-vuetify-icons-and-themes/

После того, как вы столкнулись с этим, решили проблему, следуя руководству vutify: https://vuetifyjs.com/en/features/icon-fonts/

      import { createVuetify } from 'vuetify'
import { aliases, mdi } from 'vuetify/iconsets/mdi'

export default createVuetify({
  icons: {
    defaultSet: 'mdi',
    aliases,
    sets: {
      mdi,
    }
  },
})

и

      $ yarn add @mdi/font -D
// OR
$ npm install @mdi/font -D

вам нужно искать эту версию средних значков, потому что имена значков отличаются от значков vuetify mdi https://pictogrammers.github.io/@mdi/font/4.6.95/

Путь пряжи (аналогично ответу Хасната):

yarn add material-design-icons-iconfont

и импортируйте в файл vuetify.js (или main.js, если он не существует) вот так:

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

это работает для меня :) просто установите этот пакет

npm установить --сохранить материал-дизайн-значки-iconfont

и импортируйте его в файл main.js или vuetify.js

импортировать 'material-design-icons-iconfont/dist/material-design-icons.css'
Другие вопросы по тегам