微信小程序----icon组件

本文介绍了微信小程序中图标组件的使用方法,包括原生图标组件的属性设置及如何引入外部字体库图标。提供了多种图标展示的示例代码,并分享了作者的博客资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前效果体验二维码

WXRUI体验码

如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!

效果图

这里写图片描述

原生的icon组件的属性

这里写图片描述

WXML
<view class="icon-group">
  <icon wx:for="{{typeList}}" type="{{item}}" size="40"></icon>
</view>
JS
Page({
  data: {
    typeList: ['success', 'success_no_circle', 'info', 'warn', 'waiting', 'cancel', 'download', 'search', 'clear']
  },
})

引入图标库

方法

微信小程序----引入外部字体库iconfont的图标

WXML
<view class="icon-group">微信小程序外部库引入图标</view>
<view class="icon-group">
  <icon class="iconfont icon-zhiding"></icon>
  <icon class="iconfont icon-zuojiantou"></icon>
  <icon class="iconfont icon-youjiantou"></icon>
  <icon class="iconfont icon-shangjiantou"></icon>
  <icon class="iconfont icon-xiajiantou1"></icon>
  <icon class="iconfont icon-xiajiantou"></icon>
</view>
<view class="icon-group">
  <icon class="iconfont icon-gengduotianchong"></icon>
  <icon class="iconfont icon-erweima"></icon>
  <icon class="iconfont icon-fenleiorguangchangorqita"></icon>
  <icon class="iconfont icon-dibiao"></icon>
  <icon class="iconfont icon-bangzhu"></icon>
  <icon class="iconfont icon-xinfeng"></icon>
</view> 
<view class="icon-group">
  <icon class="iconfont icon-duihuaxinxi"></icon>
  <icon class="iconfont icon-sousuo"></icon>
  <icon class="iconfont icon-shouye"></icon>
  <icon class="iconfont icon-shezhi"></icon>
  <icon class="iconfont icon-shanchu"></icon>
  <icon class="iconfont icon-dianhua"></icon>
</view>

WXRUI体验二维码

WXRUI体验码

如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!

其他

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表

<think>我们正在讨论微信小程序中引入图标的问题。用户询问如何引入el-icon(Element UI的图标库),但微信小程序本身并不直接支持Element UI,因为Element UI是为Vue.js设计的Web组件库。不过,我们可以通过其他方式在微信小程序中使用类似的图标。 参考引用[1]提到了使用阿里巴巴矢量图标库(iconfont)的方法,这是微信小程序中常用的图标引入方式。我们可以将el-icon的图标添加到阿里巴巴矢量图标库的项目中,然后下载并使用到微信小程序中。 步骤: 1. 访问阿里巴巴矢量图标库(https://www.iconfont.cn/),搜索需要的el-icon图标(例如:el-icon-search, el-icon-edit等)。 2. 将选中的图标添加到购物车,然后添加到项目(如果没有项目则新建一个)。 3. 在项目中,选择“Font class”方式,然后下载到本地。 4. 将下载的字体文件(通常是.ttf或.woff格式)转换为base64格式(因为微信小程序不支持直接引用本地字体文件,且为了跨平台兼容性,建议使用base64嵌入)。 或者,也可以使用在线转换工具将字体文件转换为base64,然后复制到wxss文件中。 5. 将下载的iconfont.css文件中的内容复制到微信小程序的wxss文件中,并做适当调整(主要是修改字体路径为base64编码后的字符串,或者直接使用base64编码的字体数据)。 6. 在wxml中使用类名来使用图标,例如:<text class="iconfont icon-search"></text> 但是,由于微信小程序对字体文件有安全限制,通常建议将图标转换为base64嵌入到wxss中,或者使用图片格式(如png、svg)的图标。另外,微信小程序也支持使用svg,但需要将svg转换为wxml可以使用的格式(如使用<image>标签直接显示svg,或者使用第三方组件将svg转为canvas绘制)。 另一种方法是使用微信小程序的API绘制图标,但这样比较复杂。 考虑到用户可能想使用el-icon的图标,我们可以通过将el-icon的svg图标下载下来,然后上传到阿里巴巴矢量图标库,再按照上述步骤操作。 但是,注意:el-icon的图标可能受版权限制,请确保在项目中使用的合法性。 另外,引用[4]展示了一个在微信小程序中使用类似vue-star组件的例子,其中使用了class和样式来控制图标,这也是一种思路,但需要自己实现图标的样式和交互。 因此,推荐使用阿里巴巴矢量图标库来引入图标,因为这种方式简单且通用。 具体步骤: 1. 在阿里巴巴矢量图标库中,找到或上传el-icon图标(如果找不到,可以自己上传svg格式的el-icon图标)。 2. 创建项目并生成字体图标。 3. 下载到本地,解压。 4. 将字体文件转换为base64(可以使用在线转换工具,如:https://transfonter.org/,注意选择base64编码)。 5. 将转换后的css内容复制到微信小程序的一个wxss文件中(例如:iconfont.wxss),注意修改@font-face中的src为转换后的base64字符串。 6. 在app.wxss中引入这个iconfont.wxss。 7. 在wxml中,使用<text>组件并指定对应的类名。 示例: 假设我们有一个el-icon-search图标,在阿里巴巴矢量图标库中对应的类名为icon-search。 在iconfont.wxss中: ``` @font-face { font-family: 'iconfont'; /* 项目名 */ src: url(data:application/font-woff2;charset=utf-8;base64,<base64编码后的字符串>) format('woff2'); } .iconfont { font-family: "iconfont" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-search:before { content: "\e65c"; } ``` 在wxml中: ``` <text class="iconfont icon-search"></text> ``` 这样,就可以在微信小程序中使用el-icon的图标了。 注意:如果图标显示不正常,请检查base64编码是否正确,以及类名是否匹配。 另外,如果不想使用字体图标,也可以直接使用svg图标。微信小程序从基础库2.3.0开始支持<image>标签显示svg,但需要将svg文件放在服务器上,然后通过https链接引用。或者,可以使用第三方组件库(如vant-weapp)中的图标组件,但这些组件不一定包含el-icon的图标。 总结:微信小程序引入el-icon图标的最佳实践是通过阿里巴巴矢量图标库将el-icon的图标转换为字体图标,然后以base64形式嵌入到wxss中,再通过类名使用。 相关问题: 1. 如何在微信小程序中使用阿里巴巴矢量图标库? 2. 微信小程序中除了字体图标,还有哪些方式可以使用矢量图标? 3. 如何将svg图标转换为base64并嵌入到微信小程序的wxss文件中?</think>### 微信小程序引入 el-icon 图标的方法 在微信小程序中引入 Element UI 的 **el-icon** 图标,可以通过以下步骤实现(由于 el-icon 是 Vue 组件库的图标,小程序需通过字体图标或 SVG 方式引入): --- ### 方法 1:通过阿里巴巴矢量图标库(推荐) 1. **访问 [iconfont 官网](https://www.iconfont.cn/)** - 搜索 `el-icon` 或具体图标名称(如 `el-icon-setting`) - 将需要的图标添加到购物车 → 添加到项目 2. **生成字体链接** - 在项目中选择 **Font class** 方式 - 复制生成的 CSS 链接(如 `//at.alicdn.com/t/c/font_xxxxxx.css`) 3. **在小程序中引入** ```css /* app.wxss */ @import "https://at.alicdn.com/t/c/font_xxxxxx.css"; .el-icon { font-family: "iconfont" !important; /* 使用字体名称 */ font-size: 16px; } ``` 4. **WXML 中使用** ```html <text class="el-icon"></text> <!-- 具体图标Unicode --> ``` --- ### 方法 2:通过 SVG 图标引入 1. **下载 SVG 文件** - 从 [Element Plus 图标库](https://element-plus.org/zh-CN/component/icon.html) 下载所需 SVG - 将 SVG 文件放入小程序项目目录(如 `/images/icons/`) 2. **WXML 中使用** ```html <image src="/images/icons/setting.svg" mode="aspectFit" style="width: 20px; height: 20px"/> ``` --- ### 方法 3:使用第三方组件库(如 vant-weapp) 若需类似 Element 的组件体验,可安装兼容小程序的组件库: ```bash npm install @vant/weapp ``` 在 `app.json` 中配置: ```json { "usingComponents": { "van-icon": "@vant/weapp/icon/index" } } ``` 使用示例: ```html <van-icon name="setting" size="20px" /> ``` --- ### 注意事项 1. **字体图标兼容性** - 需在 `app.wxss` 中声明 `@font-face` 确保字体加载 - 部分机型需将 TTF 转为 base64 嵌入 CSS[^1] 2. **SVG 限制** - 微信小程序需基础库 ≥2.3.0 才支持 SVG 渲染 - 复杂 SVG 需用 `<image>` 标签引入 3. **图标授权** - 商业项目需确认 el-icon 的授权许可 - 推荐使用开源图标库(如 Material Icons) > 提示:Element UI 图标本身为 Vue 组件,无法直接在小程序使用,但可通过上述方法迁移核心图标资源[^1][^2]。 --- ### 相关问题 1. 如何将 TTF 字体转换为 base64 格式嵌入微信小程序? 2. 微信小程序中使用 SVG 图标有哪些性能优化技巧? 3. 除了 iconfont,还有哪些适合微信小程序的矢量图标解决方案? 4. 如何在小程序中实现图标点击动画效果(如点赞动画)? [^1]: 微信小程序引入第三方字体/图标的方法参考 [^2]: 微信小程序 SVG 渲染官方文档说明
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rattenking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值