uView 组件 u-icon 扩展自定义图标

本贴最后更新于 1430 天前,其中的信息可能已经天翻地覆

一、需求分析

在使用 uni-app 开发时,组件的使用是势在必行的,而 uView 组件则提供了非常多快捷便利的组件可以供我们使用,感兴趣的可以去看看。

在使用 uView 的 u-icon 组件时,发现并没有自己想要的图标怎么办?别担心,uView 提供了完整的一套解决方法,虽然感觉有点过时了。扩展自定义图标库

这是官网的文档,可是我做了之后发现不一样了,所以略微改动了一下。

二、问题解决

1、先打开阿里巴巴矢量图标库,先在右侧导航栏找到登录按钮进行登录,我这里使用了 github 账户进行登录。

image.png

2、登录成功后,在导航栏中找到“资源管理”→“我的项目”,点击进入,需要先创建新的项目,名称自定义,将 FontClass/Symbol 前缀和 Font Family 修改为和图中一样,注意 Font Family 少一个横杠,编辑完成点击新建。

image.png

3、在阿里矢量图标库首页中搜索你想要的图标,找到并下载下来,注意要下载 SVG 格式

image.png

image.png

4、下载完成后找到你下载的 SVG 图标,打开刚刚创建的项目,选择上传图标至项目。

image.png

点击过后选择左边这个,然后将你刚刚下载好的 SVG 图标上传,直接点击“保留颜色并提交”。

image.png

这样这个图标就出现在你的项目里了。

image.png

5、接下来就是将图标运用在 uniapp 项目当中,在阿里矢量图我的项目中选择下载至本地,这样我们就拿到了我们所需的文件,下方标注的就是所需要的文件

image.png

image.png

6、打开你的 uni-app 项目,将这四个文件放在项目中的任意位置,我单独把 iconfont.css 放在了/common/css 目录下,然后将其他三个放在了分了包的目录下,/subPackage/common/css

image.png

image.png

7、在 APP.vue 中引用 iconfont.css

在 style 标签中第一行写入,注意和自己的目录对好,然后打开 iconfont.css

“style”:

@import url("./common/css/iconfont.css");

“iconfont.css”:

@font-face { font-family: "custom-icon"; /* Project id 2534396 */ src: url('subPackage/common/css/iconfont.woff2?t=1620701598353') format('woff2'), url('subPackage/common/css/iconfont.woff?t=1620701598353') format('woff'), url('subPackage/common/css/iconfont.ttf?t=1620701598353') format('truetype'); }

src 内的三个 url 对应那三个文件的位置。

8、引用成功,项目没有报错,如果在 APP.vue 中引入 iconfont.css 路径是错误的,项目会报错,如果在 iconfont.css 中引入其他三个文件的路径是错误的,项目也会报错,注意配置好路径。配置完成后,就可以使用了。使用方法:

<u-icon name="wendu" custom-prefix="custom-icon" size="28" style="margin-right: 8rpx;"></u-icon>

主要点在于 custom-prefix 和 name 属性,按照我的步骤下来的就不需要改变 custom-prefix,只需要在你的阿里矢量图中找到想用的图标,点击编辑,将 Font Class / Symbol 复制下来替换 name 中的值即可。

image.png

image.png

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • makii via macOS

    😆 mark

    1 回复
  • zzzzchen
    作者

    trollface

推荐标签 标签

  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 28 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 655 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    36 引用 • 155 回帖 • 1 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 761 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 647 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 5 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 1 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 76 回帖 • 1 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 1 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 19 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 228 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    31 引用 • 97 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 637 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1243 回帖 • 414 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 387 关注
  • 倾城之链
    23 引用 • 66 回帖 • 161 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    587 引用 • 3538 回帖 • 1 关注
  • AWS
    11 引用 • 28 回帖 • 11 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖 • 1 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 8 关注
  • OnlyOffice
    4 引用 • 19 关注
  • 996
    13 引用 • 200 回帖 • 5 关注