这里必须【全选】--> 【批量去色】,否则无法自定义图标颜色
最后复制 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务