《微信小程序-进阶篇》组件封装-Icon组件的实现(一)

article/2025/10/1 4:49:53

大家好,这是小程序系列的第九篇文章,从这篇开始我们将进入提高篇,在这一个阶段,我们的目标是可以较为深入的了解组件化开发,并且实践积累一些后续项目也就是原神资料站中用得着的组件:
1.《微信小程序-基础篇》带你了解小程序中的生命周期(一)
2.《微信小程序-基础篇》带你了解小程序中的生命周期(二)
3.《《微信小程序-基础篇》小程序中的事件与冒泡
——
求关注,求收藏,求点赞,这是一个系列文章,建议专栏收藏,肯定分享的都是跟小程序相关的,旨在能提高在小程序中的能力,谢谢~
——
无锡疫情怎么加重了,这大热天的,医护和志愿者有点辛苦啊,加油,早日清零~

《微信小程序-进阶篇》组件封装-Icon组件的实现(一)

  • 前言
  • 阅读对象与难度
  • Icon组件
    • 简介
    • 需求
      • 期望属性
      • 期望用法
    • 字体文件
      • 转化(非必需)
    • 配置
    • 示例使用
  • 小结

前言

从这篇开始,我们将逐步开始进入 提高篇,我感觉小程序的基础内容分享的差不多了,之前分享的这些都是小程序基础中的基础,如果不了解那些,那小程序的开发我们几乎无从下手;
从这篇开始,我们就不再干分享那些枯燥的,太基础的知识点了,虽然还会有很多基础知识在后续进行分享,但是我个人期望是遇到实际问题后才进行的,毕竟 实际遇到的问题并解决了才会让人更容易记住

阅读对象与难度

本文难度属于:初级,适合 了解完小程序基础知识的小伙伴,Icon组件分为 上下两篇,本文主讲Icon组件的准备阶段,包括 字体源文件的来源,如何安装加进小程序,因为和web端不同,小程序中的字体文件引入还是有些小问题的,本文大致思维导图如下
在这里插入图片描述

Icon组件

简介

可能有很多小伙伴不大理解,为什么这个系列第一个组件会选择 Icon组件,说下理由吧,不知道小伙伴有没有看到过 其他的一些UI库,比如Element,比如Iview,再比如ant-design等等,这些组件库里面有许多的组件,很多组件里面都存在一个图标的功能,比如:
在这里插入图片描述
对于这些ICON的使用,其实在源码里都是借助于内部的 ICON的组件 复合实现的;所以,为了我们后续一些组件的实现,我也得先 封装一个ICON的组件以作复用

需求

我们的ICON组件可能 不需要商用级的复杂程度,但是该有的功能还是必须都要有的,初版主要属性一共 有三个,由于我们没有直接的业务需求来源,因此博主直接参考了一些web端的组件库需求并整理了一下:

期望属性

属性名说明类型可选值默认值
icon具体icon的名字String--
color字体图标的颜色String-#333333
size图标大具体大小,单位是rpxNumber|String-38rpx

期望用法

组件开发完后肯定是要被使用的,那么使用者 如何使用需要在开发前就要有一个预期,比如我们这个 icon组件,我们期望写完后用户是这么使用的

// 组件用法
<t-icon icon="user" color="#999999" size="30"/>

字体文件

既然是一个Icon组件,那么 图标文件 肯定这个 组件中最核心的东西,这里我推荐一个字体文件库:阿里的iconfont,这是一个 免费的字体文件库,地址在这里:阿里Iconfont,虽然前段时间好像维护了一下,耽误了点,但目前而言我还是觉得是一个相对非常不错的,当然除此之外还有 飞书的 等等;
其实不仅仅是组件,相信 实际小程序的开发中中多多少少肯定会用到图片资源,而字体文件的使用也一定会被用到;

转化(非必需)

本文中使用的字体文件源包暂时没有上传,有兴趣的小伙伴可以自行到iconfont上下载下来自己试试,或者留下邮箱联系博主,我看到后第一时间联系发送;

如何在小程序中使用Iconfont可以自行到CSDN上搜一下,我搜了一下有好多种方法,这里我就仅仅列一下我用的方法:
在这里插入图片描述

我喜欢 将字体文件包中的.ttf文件转成css,直接放在.wxss或者.scss文件中,具体步骤如下:

  • 解压下载后的压缩包,iconfont上下载下来的安装包,通常下载下来的安装包名字为download,解压后会有一堆文件,如下:
    在这里插入图片描述

  • 这个文件并不能直接被使用,需要经过转化,转成Base64的代码,转化需要使用到一个网站,叫做:transfonter,官网地址如下:transfonter.org,打开后,选择上一步中的这个 .ttf文件
    在这里插入图片描述

  • 修改转化配置,勾选TTF选项,然后打开 Base64 encode
    在这里插入图片描述

  • 点击 “convert”,执行转化,转换成功后,下方会出现一个下载按钮,之后点击 "Download" 进行下载;
    在这里插入图片描述

  • 解压下载的安装包,其中有一个叫做 stylesheet 的css文件,这个文件就是我们转换过后的所需的文件;
    在这里插入图片描述

  • 复制全部内容加入小程序中 icon组件的·.wxss或者.scss之类的样式文件中,这段代码就是转码成base64格式的字体文件,并修改 font-familyt-iconfont,这个属性用于关联默认属性;
    在这里插入图片描述

  • 源文件虽然加上去了,但是现在 还不能直接使用,还需要加一点点样式,在icon.scss文件(.wxss文件)中加上以下代码

.t-icon {font-family: 't-iconfont';font-size: 38rpx;color: #333333;font-style: normal;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale
}

这段代码的作用有两个:

  1. 第一个:指定了字体文件 默认的大小颜色,我们在期望属性中有写到,期望尺寸默认为38rpx,默认颜色为#333333;
  2. 第二个通过font-familt关联上面字体文件的源码,比如这边的关联通过的是t-iconfont这个属性,翻看上一条,我们已经修改过base64的font-family了
  • 接着,打开iconfont中的iconfont.css文件,将其中红框部分的代码拷贝进小程序的样式文件中,如下:
    在这里插入图片描述
    拷贝完后的小程序.wxss或者.scss文件内容如下:
    在这里插入图片描述
    到这里,字体文件也就全部导入小程序了

配置

想要在组件内部使用,还需要一步配置一个 externalClassesaddGlobalClass官网地址如下:组件模版和样式),大致代码如下:

// TElement/Icon/icon.ts
Component({externalClasses: ["t-class"],options: {addGlobalClass: !0},/*** 组件的属性列表*/properties: {},/*** 组件的初始数据*/data: {},/*** 组件的方法列表*/methods: {}
})

这样配置就完成了,后面可以直接使用了;

示例使用

由于上面我们已经完全配置完成了,这边就可以直接使用了,以 加载中 图标为例

<!--TElement/Icon/icon.wxml-->
<view class="t-class t-icon icon-jiazai"></view>

示例组件写完后,那么我们必须要 导入到小程序页面中查看

<!--pages/welcome.wxml-->
<t-icon></t-icon>

效果如下:
在这里插入图片描述
图标正常显示,这就代表我们的导入与配置是成功的,下一节将实现Icon组件的具体功能编写

小结

本文主要讲述了 Icon组件的准备阶段,通过本文知道 字体源文件可以从iconfont等免费的网站上来获取,这些网站的存在极大的便捷了我们这些开发者对于素材的整理与收集,另外,本文还具体的描述了如何将iconfont上下载下来的源文件安装加入小程序,虽然步骤比较多,也不是最优的方法,但是我感觉这种方法相对还是比较靠谱的;
PS:都已经看到这了,求关注,求点赞,求收藏,我会尽快更新分享下一章节的,谢谢~


http://chatgpt.dhexx.cn/article/5bJoOXpV.shtml

相关文章

uniapp与微信小程序引入iconfont

加入购物车&#xff0c;下载解压 引入 uniapp 微信小程序 使用 icon更新后更换线上url&#xff0c;就不用每次下载解压

微信小程序引入下载至本地的iconfont图标

在写小程序项目中遇到icon图标引入不起作用&#xff0c;原因是因为小程序必须先转为base64引入&#xff01; 第一步 选好自己要用的icon图标并下载至本地 下载后得到这样目录的文件 第二步 转换成base64 网址&#xff1a;https://transfonter.org/ 选择后缀为.ttf的文件 第…

《微信小程序-进阶篇》组件封装-Icon组件的实现(二)

大家好&#xff0c;这是小程序系列的第十篇文章&#xff0c;在这一个阶段&#xff0c;我们的目标是 由简单入手&#xff0c;逐渐的可以较为深入的了解组件化开发&#xff0c;并且实践积累一些后续项目也就是原神资料站中用得着的组件&#xff1a; 1.《微信小程序-基础篇》带你了…

黑马微信小程序入门

文章目录 1.环境准备1.1. 注册账号1.2 获取APPID1.3 下载开发工具 2第一个微信小程序2.1. 打开微信开发者⼯具2.2. 新建⼩程序项⽬2.3 填写项目信息 3.小程序的目录结构3.1. ⼩程序⽂件结构和传统web对⽐3.2. 基本的项⽬⽬录 4.⼩程序配置⽂件4.1. 全局配置app.json4.2 tabbar4…

【微信小程序】简洁好用的icon(94/100)

布局 <!--pages/icon/icon.wxml--> <icon class"icon-box-img" type"success" size"50"></icon> <view class"icon-box-title">成功</view> <icon class"icon-box-img" type"info&q…

【微信小程序】组件使用及属性参考

文章目录 3.1 视图容器组件3.1.1 视图容器view3.1.2 滚动视图scroll-view3.1.3 可移动视图movable-view3.1.4 覆盖视图3.1.5 滑块视图swiper 3.2 内容组件3.2.1 图标icon3.2.2 进度条progress3.2.3 文本text 3.3 导航组件3.4 小程序UI框架3.4.1 WeUI3.4.2 iView3…

微信小程序icon图标引入

一、iconfont-阿里巴巴矢量图标库 下载需要的图标 1.将想要的图标添加入库并下载代码 二、下载成功后&#xff0c;将得到一个名为 "download.zip" 的文件&#xff0c;然后解压得到这么一堆文件&#xff1a; 三、转换 ttf 文件为 base64 推荐去 https://transfonter…

关于微信小程序图标icon的五种实现方案

关于图标icon 微信小程序中的 icon 组件只有 9 种类型 success、success_no_circle、info、warn、waiting、cancel、download、search、clear。 只有9个类型的图标往往是不够的&#xff0c;需要拓展更多的icon组件图标。 第一种方案 直接使用图片&#xff08;简单粗暴&#xf…

微信小程序引入外部icon

微信小程序引入外部icon最详细介绍 1.获取图标 阿里矢量库&#xff1a;iconfont-阿里巴巴矢量图标库 选中相应的图标 添加图标到购物车&#xff08;多个图标&#xff09; ​​​​​ 添加项目 下载本地 解压转换—-》 转化网站&#xff1a;Online font-face generator…

如何在微信小程序中使用icon字体图表

1.首先我们需要去icon字体库中选中几个想要的图标加入购物车 2.点击右上角的购物车图标进入 3. 进入购物车&#xff0c;点击下载代码 4.下载好的文件夹进行解压 5.将.ttf后缀文件转化为base64格式的方式&#xff08;推荐网址&#xff1a;Online font-face generator — Transfo…

微信小程序添加icon图标教程

1 官方自带 样式基于 v2 “style”: “v2”, app.json设置的v2&#xff0c;删除这个就没有呢 icon 官方地址 https://developers.weixin.qq.com/miniprogram/dev/component/icon.html <view class"cu-list grid col-3"><view class"cu-item" wx:…

微信小程序使用iconfont在线icon

微信小程序可以使用外部icon&#xff0c;比较常用的就是iconfont&#xff0c;可以搜索想要的icon和选择想要的颜色然后png下载&#xff0c;然后放到小程序的images文件夹里本地使用。 为了节省空间&#xff0c;也可以在线使用 在iconfont官网中我的页面创建一个自己的项目 然后…

微信小程序icon图标怎么用

先看效果 有的图标weapp中没有就需要去阿里图标库找合适的,但是小程序不能直接引入图标的链接(不支持html) icon使用 1 先建空项目&#xff0c;2搜索想要的图标&#xff0c;3加入购物车&#xff0c;4生成代码 &#xff0c;5在项目里的index.html引入 使用 link-css标签 将复制生…

微信小程序中使用icon

一、挑选icon,生成文件 1、打开阿里icon https://www.iconfont.cn/ 选中图标 ,添加至购物车 2.将项目下载到本地 3.下载文件的目录结构 二、转换ttf文件&#xff08;原因: 小程序的wxss文件font-face的url不接受http地址作为参数,可以接受base64,因此可以先将字体文件下载后…

【愚公系列】2022年08月 微信小程序-icon图标详解

文章目录 前言一、自带图标二、实现图标的五种方案1.图片2.精灵图3.CSS绘图4.矢量字体4.1 使用步骤 5.SVG格式 前言 在小程序中经常会用到各种各样的图标&#xff0c;如果这些图标都使用图片的话&#xff0c;将会大大增加小程序打包后的体积&#xff0c;而小程序限制代码最大2…

微信小程序icon图标使用详解

也许你迷茫&#xff0c;但是我想说&#xff0c;在你迷茫的同时&#xff0c;保持本心&#xff0c;过好今天就好。 icon 在微信小程序中用来显示图标。 1 icon 图标的基本使用 <view class"container"><view class"icon-box"><icon class&quo…

内存控制器简介

CPU执行指令得到4个地址的数据&#xff0c;对于CPU&#xff0c;1个地址对应的数据是1字节。 &#xff08;例1&#xff09; CPU要读4字节数据&#xff0c;但是nor flash是以16位数据来访问的&#xff0c;一次只能提供2字节&#xff0c;那怎么办&#xff1f;谁来处理这个问…

CPU/寄存器/内存

因为要了解多线程&#xff0c;自然少不了一些硬件知识的科普&#xff0c;我没有系统学习过硬件知识&#xff0c;仅仅是从书上以及网络上看来的&#xff0c;如果有错误请指出来。 CPU&#xff0c;全名Central Processing Unit&#xff08;中央处理器&#xff09;。这是一块超大规…

(一)自动内存管理

自动内存管理 文章目录 自动内存管理Java 内存区域与内存溢出异常运行时数据区域垃圾收集器与内存分配策略怎么判断对象是否存活&#xff1f;垃圾回收算法经典的垃圾收集器 Java 内存区域与内存溢出异常 运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存…

内存控制器与SDRAM_内存接口概念

辅线1_硬件知识_内存接口概念 如图是S3C2440是个片上系统&#xff0c;有GPIO控制器&#xff08;接有GPIO管脚&#xff09;,有串口控制器 (接有TXD RXD引脚)。 配置GPIO控制器相应的寄存器&#xff0c;即可让引脚输出高低电平&#xff1b;配置UART控制器相应的寄存器&#xff0c…