一、核心概念
菜单 IOC 图标指后台管理系统侧边菜单、顶部菜单配置项中的 icon 字段值,并非本地 ico 后缀文件。IOC 即图标标识,只需填写图标名称字符串,无需写标签、路径、后缀、class 类名全称。
通用配置位置:路由 meta.icon、后台菜单配置表 icon 字段、系统菜单新增/编辑弹窗图标输入框。
二、四大主流框架填写格式(直接抄用)
1. RuoYi-Vue / RuoYi-Plus(最常用)
使用 Element Plus 官方图标名,纯图标英文名(大驼峰),无需前缀、无需后缀。
✅ 正确填写示例:
HomeFilled
Menu
Setting
User
DataLine
FolderOpened❌ 错误写法:el-icon-home、icon-home、svg路径、图片地址
2. Vben Admin(IOC 标准写法)
支持两套规则,优先 Iconify 简写,兼容 Element 图标名。
✅ Iconify 规范(推荐):图标库-图标名
ic:baseline-home
ic:outline-settings
mdi:home-outline✅ 兼容 Element 写法:同 RuoYi 大驼峰名称
3. Element Plus 原生菜单
路由 meta.icon 直接写入组件名,与全局注册图标名一致。
// 路由配置示例
{
path: '/home',
name: 'Home',
component: () => import('@/views/home/index.vue'),
meta: { title: '首页', icon: 'HomeFilled' }
}4. Iconify 统一图标方案
填写 前缀:图标短名,前缀固定、名称可查 Iconify 官网。
标准格式:库前缀/图标名 或 库前缀:图标名
mdi:account
ep:setting
ic:round-dashboard三、自定义 SVG / 本地图标填写规则
1. 本地 SVG 图标放入 src/assets/icons/menu 目录;
2. 全局注册自定义图标集;
3. 输入框直接填写 SVG 文件名(不含后缀)。
示例:文件 custom-order.svg → 填写 custom-order
四、必填注意事项(90% 报错原因)
禁止写完整 class:不要写 iconfont、el-icon-xxx 前缀
大小写严格匹配:Element 图标为大驼峰,Iconify 多为小写短横线命名
不填路径、不填图片、不填后缀:无需 http 链接、无需 .svg/.png/.ico
后台数据库与前端规则统一:后端菜单表 icon 字段值,必须和前端解析规则一致,否则图标空白
五、快速找图标名称方法
Element Plus:官网图标库复制组件名(如 HomeFilled);
Iconify:官网搜索图标,复制
prefix:name标准值;框架自带图标:查看项目
icon.ts注册文件,取用已注册名称。
六、常见问题排查
菜单图标不显示:图标名拼写错误、未全局注册图标、前后端命名规则不一致
控制台报错:填写了非法字符、路径、未注册的自定义图标名
Vben 不识别:优先使用
ic:xxx标准 IOC 写法,而非 Element 驼峰名
评论交流
欢迎留下你的想法