vue3项目中引入阿里图标库

开篇

本篇的主题是在vue3项目中引入阿里图标库

步骤

注册阿里图标库账号(阿里图标),并创建项目

在这里插入图片描述

将图标加入项目中

  • 将需要的图标先加入购物车,随后加入到项目中
    在这里插入图片描述

生成项目代码

在项目中生成项目代码,便于后续复制到vue项目中
在这里插入图片描述## 在vue3项目中配置

  • 在App.vue中引入阿里图标库通用样式(只需要引入一次)
// 阿里图标库通用样式
.icon {width: 1em;height: 1em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;
}
  • 在main.ts或main.js中,引入刚刚生成的项目代码

在这里插入图片描述

  • 按照需用封装一个通用的图标组件
<template><div v-if="isColorIcon || isSvgIcon"><svg :style="setIconSVGStyle" aria-hidden="true" class="icon"><use :xlink:href="'#icon-' + name"></use></svg></div><i v-else :class="getIconName" :style="setIconSvgStyle"/>
</template><script lang="ts" name="svgIcon" setup>
import {computed} from 'vue';// 定义父组件传过来的值
const props = defineProps({// svg 图标组件名字name: {type: String,},// svg 大小size: {type: Number,default: () => 14,},// svg 颜色color: {type: String,},//彩色colorIcon: {type: Boolean,default: false,},// 是否是阿里图标库isSvg: {type: Boolean,default: false,}
});// 在线链接、本地引入地址前缀
// https://gitee.com/lyt-top/vue-next-admin/issues/I62OVL
const linesString = ['https', 'http', '/src', '/assets', 'data:image', import.meta.env.VITE_PUBLIC_PATH];// 获取 icon 图标名称
const getIconName = computed(() => {return 'iconfont icon-' + props?.name;
});
// 用于判断 element plus 自带 svg 图标的显示、隐藏
const isShowIconSvg = computed(() => {return props?.name?.startsWith('ele-');
});
// 用于判断在线链接、本地引入等图标显示、隐藏
const isShowIconImg = computed(() => {return linesString.find((str) => props.name?.startsWith(str));
});
// 设置图标样式
const setIconSvgStyle = computed(() => {return `font-size: ${props.size}px;color: ${props.color};`;
});
// 设置图片样式
const setIconImgOutStyle = computed(() => {return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
});
// 设置图片样式
// https://gitee.com/lyt-top/vue-next-admin/issues/I59ND0
const setIconSvgInsStyle = computed(() => {const filterStyle: string[] = [];const compatibles: string[] = ['-webkit', '-ms', '-o', '-moz'];compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} 30px 0);`));return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join('')}`;
});const setIconSVGStyle = computed(() => {return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
});
//是否是彩色图标
const isColorIcon = computed(() => {return props.colorIcon;
});
// 是否是阿里图标库
const isSvgIcon = computed(() => {return props.isSvg;
});
</script>
  • 在项目中使用该组件渲染图标
<SvgIcon :isSvg="true" :name="'row'"></SvgIcon>
  • 效果如下:
    在这里插入图片描述

值得一提的是,如果更新了项目中的图标,那么就需要更新图标项目的链接,并复制到vue3项目中。
感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5教程(一)- 网页与开发工具

1. 什么是网页 网页 基于浏览器阅读的应用程序&#xff0c;是数据&#xff08;文本、图像、视频、声音、链接等&#xff09;展示的载体常见的是以 .html 或 .htm 结尾的文件 网站 使用 HTML 等制作的用于展示特定内容相关的网页集合。 2. 网页的组成 浏览器 代替用户向服务…

C#中的委托、匿名方法、Lambda、Action和Func

委托 委托概述 委托是存有对某个方法的引用的一种引用类型变量。定义方法的类型&#xff0c;可以把一个方法当作另一方法的参数。所有的委托&#xff08;Delegate&#xff09;都派生自 System.Delegate 类。委托声明决定了可由该委托引用的方法。 # 声明委托类型 委托类型声…

现代Web酒店客房管理:基于Spring Boot的实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

基于单片机优先级的信号状态机设计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、背景知识二、使用步骤1.定义相应状态和信号列表2.获取最高优先级信号3.通用状态机实现4.灯的控制函数 总结 前言 在嵌入式系统中&#xff0c;设备控制的灵…

什么是甘特图?

甘特图&#xff08;Gantt Chart&#xff09;是一种条形图&#xff0c;用于项目管理中展示项目的进度计划。它以图形化的方式显示了项目中的各个任务及其时间安排&#xff0c;帮助项目经理和团队成员更好地理解和跟踪项目的时间线、依赖关系以及完成情况。甘特图是项目管理中非常…

Spark 的 Http Broadcast 和 Torrent Broadcast 广播实现类的对比

在 Apache Spark 中&#xff0c;广播机制用于高效地将小型只读数据分发到集群中的各个执行器&#xff08;Executor&#xff09;。Spark 中主要有两种不同的广播实现方式&#xff1a;Http Broadcast 和 Torrent Broadcast。这两种方式的核心目标都是将数据高效地分发给所有工作节…

C#与Sqlite数据库

1&#xff0c;一般的访问方式。 1.1&#xff0c;连接语句。 //sqlite 连接,支持相对位置&#xff0c;也支持绝对位置 Data Source../../Database/cater.db// 连接数据库&#xff0c;FailIfMissingfalse时若文件不存在会自动创建 string connStr "DataSourcetest.db;Vers…

Linux相关概念和易错知识点(16)(Shell原理、进程属性和环境变量表的联系)

Shell原理及其模拟实现 在认识进程exec系列函数、命令行参数列表、环境变量之后&#xff0c;我们可以尝试理解一下Shell的原理&#xff0c;将各方知识串联起来&#xff0c;让Shell跑起来才能真正理解这些概念。我会以模拟Shell执行的原理模拟一个Shell。途中配上相关讲解。 1…

力扣244题详解:最短单词距离 II 的多种解法与模拟面试

在本篇文章中&#xff0c;我们将详细解读力扣第244题“最短单词距离 II”。通过学习本篇文章&#xff0c;读者将掌握如何在字符串列表中多次查询两个单词之间的最短距离&#xff0c;并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释&#xff0c;以便于理解。…

C++网络编程之C/S模型

C网络编程之C/S模型 引言 在网络编程中&#xff0c;C/S&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09;模型是一种最基本且广泛应用的架构模式。这种模型将应用程序分为两个部分&#xff1a;服务器&#xff08;Server&#xff09;和客户端&#xff08;Clien…

基于flask和neo4j的医疗知识图谱展示问答系统

如果你仍在为毕业设计的选题发愁&#xff0c;或者想通过技术项目提升专业实力&#xff0c;这个基于Flask和Neo4j的医疗知识图谱展示与问答系统&#xff0c;绝对是个不错的选择&#xff01; 项目亮点大揭秘&#xff1a; 知识图谱与问答结合&#xff1a;我们采用了医疗场景下的知…

时间数据可视化基础实验(南丁格尔玫瑰图)——Python热狗大胃王比赛数据集

【实验名称】 实验一&#xff1a;时间数据的可视化 【实验目的】 1.掌握时间数据在大数据中的应用 2.掌握时间数据可视化图表表示 3. 利用python程序实现堆叠柱形图的可视化 【实验原理】 时间是一个非常重要的维度与属性。时间序列数据存在于社会的各个领域&#xff0c;如&a…

【Power Query】List.Select 筛选列表

List.Select 筛选列表 ——在列表中返回满足条件的元素 List.Select(列表,判断条件) 不是列表的可以转成列表再筛选&#xff0c;例如 Record.ToList 不同场景的判断条件参考写法 (1)单条件筛选 列表中小于50的数字 List.Select({1,99,8,98,5},each _<50) (2)多条件筛…

高低温探针台的工作原理及其构造

高低温探针台是一种用于材料科学、物理、化学等领域的实验设备&#xff0c;主要用于在高温和低温环境下对材料进行各种实验和研究。 高低温探针台的工作原理是将样品放置在加热和冷却组件上&#xff0c;然后使用各种测量仪器对其进行实验和测量。具体来说&#xff0c;其工作流程…

NVR批量管理软件/平台EasyNVR多个NVR同时管理支持UDP和TCP传输协议

随着科技的飞速发展&#xff0c;视频技术已成为现代社会不可或缺的一部分&#xff0c;广泛应用于安防监控、娱乐传播、在线教育、电商直播等多个领域。在这一背景下&#xff0c;NVR管理平台EasyNVR作为一款高效、灵活的视频监控管理系统&#xff0c;正经历着前所未有的发展机遇…

uniapp renderjs页面传值

scrip标签里加 lang“renderjs” &#xff0c;可以使用原生js的dom&#xff0c;但是我在使用中发现以下问题&#xff0c;导致数据不能动态获取 1. onLoad获取上级页面传值 // APP不会触发&#xff0c;h5可以 2. props不会触发 解决办法添加 script 逻辑层数据传入渲染层 ren…

嵌入式MCU面经(突击版)

C语言 联合体和结构体的区别&#xff1a; 首先最直观的就是数据类型名称上的区别&#xff1a;联合体union&#xff0c;结构体struct。最大的区别&#xff1a;联合体共用内存&#xff1b;结构体不共用内存。具体来说&#xff0c;联合体里如果有多个联合体成员&#xff0c;整个联…

iOS 本地存储地址(位置)

前言: UserDefaults 存在沙盒的 Library --> Preferences--> .plist文件 CoreData 存在沙盒的 Library --> Application Support--> xx.sqlite 一个小型数据库里 (注:Application Support 这个文件夹已开始是没有的,只有当你写了存储代码,运行之后,目录里才会出…

MT-Pref数据集:包含18种语言的18k实例,涵盖多个领域。实验表明它能有效提升Tower模型在WMT23和FLORES基准测试中的翻译质量。

2024-10-10&#xff0c;由电信研究所、里斯本大学等联合创建MT-Pref数据集&#xff0c;它包含18种语言方向的18k实例&#xff0c;覆盖了2022年后的多个领域文本。通过在WMT23和FLORES基准测试上的实验&#xff0c;我们展示了使用MT-Pref数据集对Tower模型进行对齐可以显著提高翻…

C++list

1.迭代器的功能以及性质 功能有iterator&#xff0c;reverse_iterator&#xff0c;const_iterator&#xff0c;const_reverse_iterator 性质有单向&#xff0c;双向和随机&#xff0c;单向的迭代器只能操作&#xff0c;双向只能/--俩种&#xff0c;随机则可以执行/--//-的操作…