Element‑Plus icon 图标名称查询 & 和菜单 meta.icon 字段映射

Element‑Plus icon 图标名称查询 & 和菜单 meta.icon 字段映射

你的后端菜单 meta:{ icon:"User" },这个字符串要和 Element‑Plus 图标组件名完全一致<el-icon><User /></el-icon> 才能渲染。

1、官方图标在线查看(查图标名字)

官方地址:https://element-plus.org/zh-CN/component/icon.html

全部图标列表,点开就能看到图标组件名称(大小写敏感!)

⚠️重点区分:

  • 组件名(JS 使用,你 meta.icon 存这个):UserSettingMenuDocument大驼峰开头大写
  • css 类名(旧版,现在不推荐):el-icon-user,不要存这个!

示例:

  • 用户图标 → 组件名:Usermeta.icon:"User"
  • 设置图标 → 组件名:Settingmeta.icon:"Setting"

2、项目中如何使用(Layout 侧边栏渲染菜单图标)

方式 A:完整导入全部图标(开发简单,体积偏大,适合学习项目)

main.js

复制代码
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

//全局注册所有图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}

注册完之后,模板直接用字符串名字渲染:

复制代码
<!-- meta.icon = "User" -->
<el-icon>
  <component :is="menu.meta.icon"></component>
</el-icon>

:is 动态组件,直接传入字符串"User",就会渲染对应图标。

所以后端 mock 菜单 meta.icon 直接填写大驼峰图标组件名 ,例如 "User",不要写小写、不要写el-icon-xxx

常用菜单高频图标对照表(直接复制给 mock)

表格

meta.icon 存储值 (大驼峰) 图标含义
Home 首页
User 用户
Setting 设置
Menu 菜单
Document 文档
DataBoard 数据看板
Tools 工具
Lock 权限
Edit 编辑
Delete 删除
Search 搜索
Bell 通知铃铛

mock 菜单示例:

复制代码
{
  path: '/userManage',
  name: 'userManage',
  component: 'Layout',
  meta: { title: '用户管理', icon: 'User' },
  children: [...]
}

3、常见踩坑

  1. 大小写错误user ❌ 必须 User ✅,首字母大写大驼峰。
  2. 存旧版 css 类名 el-icon‑user ❌,动态组件<component :is>识别不了。
  3. 忘记全局注册图标,控制台报错 Component User is not resolved

4、局部按需导入(生产推荐,减小包体积)

不全局全部注册,layout 组件按需引入:

复制代码
<script setup>
import { User, Home, Setting } from '@element-plus/icons-vue'
</script>

但是做后端动态菜单就不适合按需引入,不知道后端返回什么 icon,学习项目直接全局注册全部图标最简单

5、写一个小调试组件,快速测试图标

复制代码
<template>
  <div>
    <el-icon><User /></el-icon>
    <el-icon><Setting /></el-icon>
  </div>
</template>

页面看效果,复制对应的组件名字,直接填到菜单meta.icon

相关推荐
benbenAItalk2 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_962885723 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
西瓜太郎12343 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
陈随易5 小时前
在Finch用了62亿词元,我认为这是新一代Agent工具之神
前端·人工智能·后端
水域安全老周5 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师6 小时前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing986 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
EatFan6 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
梦想平凡7 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
IT_陈寒7 小时前
Redis的Set操作居然能把我的服务整挂了?
前端·人工智能·后端