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 存这个):User、Setting、Menu、Document,大驼峰开头大写
  • css 类名(旧版,现在不推荐):el-icon-user,不要存这个!

示例:

  • 用户图标 → 组件名:User → meta.icon:"User"
  • 设置图标 → 组件名:Setting → meta.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。

相关推荐
Csvn6 小时前
组合式 API(Composition API)
前端
火柴就是我7 小时前
Android 打包报错 25.0.3
android·前端
BD_Marathon7 小时前
消息对象中字段的说明
java·前端·python
八荒启·交互动画7 小时前
Web特效025—用 Canvas 2D 做Web特效的定义与边界:这支画笔能做到哪一步
前端·webgl·网页特效·八荒启-交互动画·八荒启
Ai-_Man7 小时前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
excel8 小时前
Nuxt 中使用 useHead 优化 SEO 与 GEO
前端
IT_陈寒9 小时前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
计算机魔术师9 小时前
Muse Spark跑赢Gemini,但真正的底牌是这种设计
前端
PYB39 小时前
【Web·JS·基础】函数的使用和展运算符...objs
前端·javascript
指针向南9 小时前
Chrome读不了HEIC怎么办:原生解码和WASM两条路
前端·图像处理·人工智能·chrome·计算机视觉·wasm