当前位置: 首页 > news >正文

vue3 + element plus使用iconfont 自定义font组件颜色大小可修改

vue3 + element plus使用iconfont 自定义font组件&颜色大小可修改这里写自定义目录标题

  • 自定义SvgIcon.vue
    • 引入iconfont
    • App.vue中引入组件
    • 更改图标大小

参考网上方案新建SvgIcon.vue,但没说明怎么修改颜色及大小,我在这个博客中简单提供下。

自定义SvgIcon.vue

在componet目录下新建SvgIcon.vue组件

 // src/components/SvgIcon.vue
<template><svg :class="svgClass" aria-hidden="true"><use :fill="color" :xlink:href="iconClassName"/></svg>
</template><script lang="ts" setup>
import {computed} from 'vue';const props = defineProps({iconName: {type: String,required: true},className: {type: String,default: ''},color: {type: String,default: '#409eff'}
});
// 图标在 iconfont 中的名字
const iconClassName = computed(() => {return `#${props.iconName}`;
});
// 给图标添加上类名
const svgClass = computed(() => {if (props.className) {return `svg-icon ${props.className}`;}return 'svg-icon';
});
// 给图标添加上颜色
const color = computed(() => {return props.color;
})
</script><script lang="ts">
export default {name: 'svgIcon'
};
</script><style lang="less" scoped>
.svg-icon {position: relative;width: 1em;height: 1em;vertical-align: -2px;fill: currentColor;
}
</style>

引入iconfont

在asserts文件夹中新建一个iconfont文件夹,并在该文件夹下新建一个iconfont.js,把iconfont复制下来即可
  
在这里插入图片描述

App.vue中引入组件

import SvgIcon from '@/components/iconfont/SvgIcon.vue';
import '@/assets/iconfont/iconfont.js';
import ElementPlus from 'element-plus';
// use
app.component('SvgIcon', SvgIcon).use(ElementPlus)

更改图标大小

使用el-icon即可,也可以在SvgIcon.vue中新建

<el-icon :size="14" class="icon"><SvgIcon iconName="icon-xinjian" color="#fff"/></el-icon>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2024 CISCN总决赛 ShareCard
  • CPU、GPU等处理器介绍
  • 深入探索非线性数据结构:树与图的世界
  • 基于opencv的人脸识别(实战)
  • 贪心加暴力枚举
  • Postman中的A/B测试实践:优化API性能的科学方法
  • Mysql备份恢复
  • redis的使用场景-热点数据缓存
  • 【技术升级】Docker环境下Nacos平滑升级攻略,安全配置一步到位
  • 论文阅读:(DETR)End-to-End Object Detection with Transformers
  • B端系统UI个性化设计:感受定制之美
  • 微信小游戏之 三消(一)
  • C#华为OD笔试题*3
  • Spring Core——资源加载与访问(Resource)
  • 优思学院|如何透过客户忠诚度分析决定六西格玛改善项目?
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Android 控件背景颜色处理
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • css选择器
  • Facebook AccountKit 接入的坑点
  • FastReport在线报表设计器工作原理
  • Git的一些常用操作
  • GraphQL学习过程应该是这样的
  • Linux中的硬链接与软链接
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Solarized Scheme
  • Spring Boot MyBatis配置多种数据库
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 实现简单的正则表达式引擎
  • 一个SAP顾问在美国的这些年
  • 再次简单明了总结flex布局,一看就懂...
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • $GOPATH/go.mod exists but should not goland
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (void) (_x == _y)的作用
  • (蓝桥杯每日一题)love
  • (四)stm32之通信协议
  • (四)图像的%2线性拉伸
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)winform之ListView
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .a文件和.so文件
  • .gitattributes 文件
  • .Net Core 生成管理员权限的应用程序
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [ IO.File ] FileSystemWatcher
  • [.net] 如何在mail的加入正文显示图片
  • [android] 手机卫士黑名单功能(ListView优化)
  • [CLickhouse] 学习小计
  • [C语言][PTA基础C基础题目集] strtok 函数的理解与应用
  • [Day 36] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [Geek Challenge 2023] web题解
  • [git]git命令如何取消先前的配置
  • [i.MX]飞思卡尔IMX6处理器的GPIO-IOMUX_PAD说明