更新记录
1.0.0(2026-01-20) 下载此版本
1.0.0
平台兼容性
uni-app(4.83)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
lrb-svg-icons
跨平台 SVG 图标组件库,支持 H5/小程序/App
特性
- ✅ 跨平台兼容:H5 使用原生
<svg>,小程序使用 Base64 编码方案 - ✅ easycom 自动引入:无需手动 import,直接使用
- ✅ TypeScript 支持:完整的类型定义
- ✅ 主题适配:默认使用
currentColor,自动继承父元素颜色 - ✅ 按需加载:只打包使用的图标,减小包体积
- ✅ 图标生成器:支持从 SVG 代码或 URL 快速生成新图标
安装
方式一:通过 uni_modules 导入(推荐)
- 将
lrb-svg-icons文件夹复制到项目的src/uni_modules/目录 - 重启项目即可使用
方式二:通过 HBuilderX 插件市场
- 在 HBuilderX 中打开插件市场
- 搜索 "lrb-svg-icons"
- 点击导入
使用方式
基础用法
<template>
<view>
<!-- easycom 自动引入,无需 import -->
<svg-home />
<svg-user :size="64" />
<svg-heart color="red" />
<svg-sun :stroke-width="1.5" />
</view>
</template>
Props 说明
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| size | number | string | 48 | 图标大小(rpx) |
| color | string | 'currentColor' | 图标颜色,默认继承父元素 |
| strokeWidth | number | string | 2 | 线条粗细(仅 stroke 图标) |
| filled | boolean | false | 是否填充(仅部分图标支持) |
主题适配示例
<template>
<view class="container">
<!-- 自动继承父元素颜色 -->
<svg-home />
<!-- 使用 CSS 变量 -->
<svg-user color="var(--primary)" />
<!-- 直接指定颜色 -->
<svg-heart color="#ef4444" />
</view>
</template>
<style>
.container {
color: var(--foreground);
}
</style>
支持 filled 的图标
部分图标支持 filled 属性,可以切换填充/描边状态:
<template>
<view>
<!-- 描边状态 -->
<svg-heart />
<!-- 填充状态 -->
<svg-heart :filled="true" color="red" />
<!-- 动态切换 -->
<svg-bookmark :filled="isBookmarked" @click="toggleBookmark" />
</view>
</template>
支持 filled 的图标:
svg-heartsvg-starsvg-bookmark
可用图标
导航和布局
svg-home- 首页svg-layout-dashboard- 仪表板svg-arrow-left- 左箭头svg-chevron-up- 上箭头svg-chevron-left- 左箭头(小)svg-chevron-right- 右箭头(小)
媒体控制
svg-play- 播放svg-pause- 暂停
用户和认证
svg-user- 用户svg-lock- 锁定svg-eye- 显示svg-eye-off- 隐藏
内容和媒体
svg-book-open- 书籍svg-clipboard-list- 清单svg-camera- 相机svg-image- 图片
社交和互动
svg-heart- 喜欢(支持 filled)svg-star- 星标(支持 filled)svg-bookmark- 书签(支持 filled)svg-share- 分享svg-message-square- 消息
商业和数据
svg-shopping-cart- 购物车svg-store- 商店svg-bar-chart- 柱状图
工具和设置
svg-sun- 太阳/亮色主题svg-moon- 月亮/暗色主题svg-palette- 调色板svg-type- 文字svg-phone- 电话svg-calendar- 日历svg-map-pin- 地图标记
第三方平台
svg-we-chat- 微信svg-q-q- QQsvg-alipay- 支付宝
其他
svg-alert-triangle- 警告
添加新图标
方式一:使用图标生成器
# 从 SVG 代码生成
node uni_modules/lrb-svg-icons/scripts/generate-icon.js \
--name "arrow-right" \
--svg '<svg>...</svg>'
# 从 URL 生成
node uni_modules/lrb-svg-icons/scripts/generate-icon.js \
--name "arrow-right" \
--url "https://example.com/icon.svg"
方式二:手动创建
- 在
components/目录下创建新文件夹,如svg-new-icon/ - 创建
svg-new-icon.vue文件 - 参考现有图标的模板结构编写代码
补充说明
本插件内置图标有限,用户可根据上述方法轻松添加对应项目需要的图标。
平台兼容性
| 平台 | 支持情况 | 说明 |
|---|---|---|
| H5 | ✅ | 使用原生 <svg> 标签 |
| 微信小程序 | ✅ | 使用 Base64 编码 |
| 支付宝小程序 | ✅ | 使用 Base64 编码 |
| 百度小程序 | ✅ | 使用 Base64 编码 |
| 字节跳动小程序 | ✅ | 使用 Base64 编码 |
| QQ 小程序 | ✅ | 使用 Base64 编码 |
| App (Vue) | ✅ | 使用 Base64 编码 |
技术原理
H5 平台
直接使用 SVG 标签,支持 CSS 样式控制,性能最优。
小程序平台
由于小程序不支持直接使用 SVG 标签,采用以下方案:
- 将 SVG 代码转换为 Base64 编码
- 使用
<image>组件显示 - 通过动态生成 SVG 字符串实现颜色和尺寸控制
注意事项
- 颜色继承:默认使用
currentColor,会继承父元素的color样式 - 尺寸单位:
size属性使用rpx单位,自动适配不同屏幕 - 小程序限制:小程序中
currentColor会被替换为#0f172a(深色) - 性能优化:只会打包使用的图标,未使用的图标不会增加包体积
更新日志
查看 CHANGELOG.md
许可证
MIT License
相关链接
- Lucide Icons - 部分图标来源
- uni-app 官方文档

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 1
赞赏 0
下载 13463566
赞赏 1846
赞赏
京公网安备:11010802035340号