vue3如何动态渲染Element-plus图标

vue3动态渲染Element-plus图标

现在我要动态的渲染成这种
在这里插入图片描述
回顾vue2渲染方法
1.首先我在data中定义好需要展示的图标

data(){
	return{
	//所有的键均为 menu一级菜单所对应的id
	 iconsObj: {
        125: "el-icon-user-solid",
        103: "el-icon-turn-off",
        101: "el-icon-s-goods",
        102: "el-icon-tickets",
        145: "el-icon-monitor",
      },
	}
}

2.进行动态渲染

 <i :class="iconsObj[i.id]"></i>

所以在vue2中使用Element UI动态变换图标时就可以通过:class的方式渲染图标。
但是Element Plus就不行了,我们知道引用的图标是组件形式
vue3渲染方法

1.然后再setup中进行一个定义

<style setup>
	//键也均为menu一级菜单的id
	//写法1
	let iconsObj = {
	  125: <User/>,
	  103: <Operation/>,
	  101: <GoodsFilled/>,
	  102: <Tickets/>,
	  145: <Histogram/>,
	};
	//写法2
	let iconsObj = {
	  125: 'User',
	  103: 'Operation',
	  101: 'GoodsFilled',
	  102: 'Tickets',
	  145: 'Histogram',
	};
</style>

2.然后进行动态渲染

<el-icon>
     <component :is='iconsObj[i.id]'/>
</el-icon>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值