菜单接口返回结果中还有一个 icon 字段,我们可以根据这个字段来渲染菜单的 Icon,同样的我们使用elementplus中的Icon组件 首先在 main.ts 中全局引入@element-plus/icons-vue import*asElementPlusIconsVuefrom'@element-plus/icons-vue'; constapp = createApp(App); for(const[key, component]ofObject.entries(Elem...
跨过了Element-UI,终于来到了Element-plus。又回到了一个老问题,menu的渲染。 创建一个menu数组,利用v-for来渲染数组,生成menu,非常常规的操作。但是操作的过程中,出现了一个小问题,就是关于icon的渲染。 我们知道,在Element-plus中,渲染一个带图标的菜单项,是这么搞的: <el-menu-item index="/mypath"> <te...
import*asElementPlusIconsVuefrom'@element-plus/icons-vue'constapp=createApp(App)for(const[key,component]ofObject.entries(ElementPlusIconsVue)){app.component(key,component)} 第四步 使用component组件 绑定is动态绑定图标 直接使用 <el-menu-itemindex="2"><el-icon><component:is="menuIconList.icon">...
"icon": "documentation", "roles": [2, 1] }, "children": [{ "path": "user", "component": "admin/user", "alwaysShow": false, "name": "用户管理", "meta": { "title": "用户管理", "icon": "user",
Vue3 中使用Element Plus图标渲染是通过<el-icon><Plus /></el-icon>渲染 所以在使用Element UI动态变换图标时就可以通过:class的方式渲染图标 但是Element Plus就不行了,我们知道引用的图标是组件形式,组件的话就可以使用<component :is="xxx" />进行渲染了 ...
<el-icon><Search/></el-icon> 但当遇到侧边导航等需求时,可能需要动态加载图标,解决办法如下: <el-menu-itemv-for="(item, index) in data.routeList"index="1":key="index"><template#title>// 此处为动态加载图标方法<component:is="item.meta.icon"style="width: 16px; height: 16px"></compon...
目前在升级前端框架,UI组件element-plus升级到了目前最新的1.3.0beta8版本,图标也换成了官方提供的SvgIcon图标,官方提供了组件导入的方式使用图标。而我的图标是全局导入的,默认使用官方的命名。在菜单栏使用图标,并且是动态渲染的,刚好用到图标组件名称是Menu时,点击带有这个图标名称的菜单,就出问题了,导致其他菜单不...
动态Icon 的使用方式 方式一 // 在main.ts注册Icon组件import*asIconsfrom'@element-plus/icons'constapp =createApp(App)Object.keys(Icons).forEach((key) =>{ app.componet(key,Icons[keyaskeyoftypeofIcons])// app.componet(key, Icons[key]) 等价于上面这行}) ...
本文完整版:《在 Vue3 + Element Plus 中生成动态表格,动态修改表格,多级表头,合并单元格》 在Vue 中,表格组件是使用频率及复杂度排名第一的组件,前端经常需要根据后台返回的数据动态渲染表格,比如动态表格如何生成,因为表格的列并不是固定的,在未知表格具体有哪些列的场景下,前端如何动态渲染表格数据。又或者需要把...
我们可以使用 动态组件的方式来 动态渲染icon 来达到和老师代码一致的效果 注意! 使用此方法 需要在 main文件内 添加一下代码 否则无效 npm install @element-plus/icons-vue 需要从 @element-plus/icons-vue 中导入所有图标并进行全局注册。 import * as ElementPlusIconsVue from '@element-plus/icons-vue...