【问题标题】:Override individual Vuetify icon with Font Awesome SVG icon使用 Font Awesome SVG 图标覆盖单个 Vuetify 图标
【发布时间】:2021-11-04 21:13:14
【问题描述】:

是否可以使用 Font Awesome svg 图标覆盖来自 Vuetify 的 individual 图标,而无需为每个图标编写自定义组件?

类似这样的:???

import { svgPathData as envelopeSvg } from '@fortawesome/free-solid-svg-icons/faEnvelope'
import { svgPathData as questionCircleSvg } from '@fortawesome/free-solid-svg-icons/faQuestionCircle'


Vue.use(Vuetify)

const app = new Vue({
vuetify: new Vuetify({
    icons: {
        iconfont: 'md',
        values: {
            email: envelopeSvg,
            question_circle: questionCircleSvg
        }
    },
...
})

更新 我有点让上面的代码工作了,但现在我当前的问题是 v-icon 组件使用错误的视图框大小呈现。

<font-awesome-icon class="icon" icon="envelope" /> //viewBox="0 0 512 512"
<v-icon class="icon">email</v-icon> //viewBox="0 0 24 24"

【问题讨论】:

    标签: vue.js svg vuetify.js font-awesome


    【解决方案1】:

    你需要添加正确的方式

    https://vuetifyjs.com/en/features/icon-fonts/#font-awesome-5-icons

    yarn add @fortawesome/fontawesome-free -D

    
    import '@fortawesome/fontawesome-free/css/all.css' // Ensure you are using css-loader
    import Vue from 'vue'
    import Vuetify from 'vuetify/lib'
    
    Vue.use(Vuetify)
    
    export default new Vuetify({
      icons: {
        iconfont: 'fa',
      },
    })
    

    更新: 根据Git Issue

    您需要安装所有需要的字体或添加指向 CDN 的链接,iconfont 仅指定哪个图标集将用于默认 Vueitfy 图标(例如 v-select 中的箭头等)

    <v-icon>mdi-user</v-icon> // MDI will be used
    <v-icon>user<v-icon> // Material Icons will be used
    <v-icon>fas fa-whatever<v-icon> // FA will be used
    

    【讨论】:

    • 我相信这会将 Vuetify 切换为使用所有 FA 网络字体,这不是我想要的。我想继续使用内置的 Material Design 图标并使用 Font Awesome svg 图标覆盖特定图标。
    • 检查我的更新答案
    • 我的更新回答了你的问题吗?
    • 我最终选择了不同的路线,但我认为你所说的会奏效。 - 谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2020-11-02
    • 2017-03-29
    • 2019-12-31
    • 2013-01-22
    • 2013-08-11
    • 1970-01-01
    相关资源
    最近更新 更多