您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页Vue3封装IconFont组件

Vue3封装IconFont组件

来源:欧得旅游网

首先在iconfont上选择图标加入到项目中

这里必须【全选】--> 【批量去色】,否则无法自定义图标颜色

最后复制  symbol  链接传给组件的  scriptUrl  即可

定义组件

<template>
    <svg class="icon" aria-hidden="true" :width="fontSize" :height="fontSize">
        <use :xlink:href="class" :fill="color"></use>
    </svg>
</template>

<script>
import { defineComponent, ref } from 'vue';
export default defineComponent({
    created(){
        let iconfont = document.getElementById('iconfont');
        if(!iconfont){
            const s = document.createElement('script');
            s.id = 'iconfont';
            s.type = 'text/JavaScript';
            s.src = this.scriptUrl;
            document.body.appendChild(s);
        }
    },
    props:{
        scriptUrl:{//iconfont上的symbol地址
            type:String,
            default:"http://at.alicdn.com/t/xxxxxxx.js"
        },
        class:String,//需要添加的字体图标类
        color:{//图标颜色
            type:String,
            default:'#444'
        },
        fontSize:{//图标大小
            type:[String,Number],
            default:16
        }
    }
})
</script>

<style scoped>
.icon {
    vertical-align: -0.15em;
    fill: currentColor;
    overflow: hidden;
}
</style>

在使用的组件内直接引用注册使用即可

<template>
    <!-- 这里需要注意一点,class里面的类 必须加"#"开头  后面的icon-xxx是你在iconfont上图标的类名 -->
    <icon-font scriptUrl=""  class="#icon-xxx" fontSize="20"  color="#f00" />
</template>

<script>
import iconFont from '@/components/iconFont';
export default {
    components:{
        iconFont
    }
}
</script>

前端学习交流群👉:

微信公众号👉:叮当Ding

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务