当前位置: 首页 > news >正文

VUE3+element-plus 循环列表中图标由后台动态添加

vue3中,框架由element-plus搭建,需要在左侧菜单旁边添加图标,由后台传递内容进行动态添加

**

第一步:在main.js中引入所有的图标

**

// 引入所有图标
import * as ElementPlusIconsVue from ‘@element-plus/icons-vue’

// 全局注册所有图标,并存储图标名称到组件的映射表
const icons = {}
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component) // 注册为全局组件(如 )
icons[key] = component // 存储映射关系(用于动态组件)
}

// 将图标映射表挂载到全局,方便组件内使用
app.config.globalProperties.$icons = icons

在这里插入图片描述
**

第二步,在需要的界面引入

**
import { ref, onMounted, getCurrentInstance } from ‘vue’

// 获取全局注册的图标映射表
const { appContext } = getCurrentInstance();
const icons=appContext.config.globalProperties.icons = appContext.config.globalProperties.icons=appContext.config.globalProperties.icons;
// 根据图标名称获取对应的组件
const getIconComponent = (iconName) => {
// 容错处理:若图标不存在,返回默认图标(如 Warning)
return $icons[iconName] || $icons.Warning
}

在div中调用:

在这里插入图片描述
在这里插入图片描述
**

最终效果:

**

在这里插入图片描述

http://www.dtcms.com/a/576901.html

相关文章:

  • LangFlow前端源码深度解析:核心模块与关键实现
  • 从 Rust 到 Flutter:嵌入式图形与构建工具全景指南
  • 转折·融合·重构——2025十大新兴技术驱动系统变革与全球挑战应对
  • IP地址、子网掩码与网段:网络划分的核心概念
  • 怎样才能在百度搜索到自己的网站wordpress去掉分类栏目前缀
  • 视频孪生与空间智能:重构物理世界的时空认知范式
  • Rust 练习册 11 :可变变量与可变引用详解
  • 在VSCode中:解决终端输出中文乱码问题
  • MATLAB基于BNT工具箱的多输入分类预测
  • 【主流开发语言深度对比】Python/Go/Java/JS/Rust/C++评测
  • 从开发到部署
  • 【无标题】Vscode 报错 got bad result from install script无法远程链接服务器
  • 基于Linux的TCP服务端客户端通信(一)
  • 在 VSCode 中:引入开源cJSon解析库+示例demo
  • SwiftUI 组件开发: 自定义下拉刷新和加载更多(iOS 15 兼容)
  • 【面试】分布式事务与分布式锁:核心原理与工程实践
  • 大连制作网站企业优化网站性能
  • 搜索引擎索引权威指南:抓取、收录与排名的基础
  • 电脑关机重启时显示rundll32 内存不能为read解决方法
  • 【P7】docker镜像发布和部署
  • 电脑启动时报 0xc000000e —— 原因解析与多种修复策略
  • 网站建设需求范文包装回收网站建设
  • 使用 Apache Jena 构建 Java 知识图谱
  • ICLR 2025 | 告别“非黑即白”!X-CLR引入“相似度图谱”,让模型读懂万物关联!
  • 【图像处理基石】什么是alpha matting?
  • 面试后查缺补漏--cmake,makefiles,g++,gcc(自写精华版)
  • 使用房屋价格预测的场景,展示如何从多个影响因素计算权重和偏置的梯度
  • 企业网站的首页设计模板天津seo方案
  • 微服务之OpenFeign、hystrix熔断降级、loadbalancer负载均衡
  • 【微服务】(4) 负载均衡