el-menu-item使用自定义图标、使用图片做图标

由于el-menu里面的图标都是一些内定的,很多时候我们都需要修改自定义,可以用自定义的图片得到效果,先上效果图:

  • 可以通过将li标签改成img的方式,使用自定义的图片
vue 复制代码
<template>
  <div>
    <el-col :span="12">
      <h5>默认颜色</h5>
<!--      default-active配置为当前路由,this.$route.path是当前路由,-->
      <el-menu
        :default-active="$route.path"
        active-text-color="orange"
        class="el-menu-vertical-demo"
        router
      >

      <el-menu-item v-for="item in allmenu" :index="item.index">
        <img v-if="$route.path==item.index" class="icon" :src="item.iconActive"></img>
        <img v-else class="icon" :src="item.icon"></img>
        <span slot="title">{{item.name}}</span>
      </el-menu-item>

      </el-menu>
    </el-col>
  </div>
</template>
  • 这里使用v-if 及v-else判断当前路由,由此改变当前的图片的颜色保持跟菜单项名字颜色变化一致。
  • 还需要做的是去iconfont里面找两种颜色不同的图片,可以放到两个文件夹中,将路径放到传入的allmenu(菜单传的参数)中,注意这里要加require,否则不生效
js 复制代码
let res={
 data:[
        { index:"/index/data",
          icon:require("@/assets/icon/notActive/data.png"),
          iconActive:require("@/assets/icon/active/data.png"),
          name:"统计数据"
        }
     ]
}
 this.allmenu=res.data
相关推荐
是梦终空13 分钟前
计算机源码273—基于SpringBoot+Vue3停车场管理系统带支沙箱支付(源代码+数据库)
数据库·spring boot·vue·mybatis·停车场管理系统·沙箱支付·毕设设计
ZHIS26 分钟前
移动端 Vue3 高清 PDF 预览组件开发:支持手势缩放 + 按钮缩放 + 加载进度
vue.js
candyTong31 分钟前
如何写一个可以进化的前端系统验收 SKILL
javascript
LIO32 分钟前
深度解析 localStorage 与 sessionStorage:用法、区别与最佳实践
前端
Amy_yang40 分钟前
uni-app 中 web-view 的使用与 App 端全屏问题处理
前端·javascript·vue.js
闲坐含香咀翠41 分钟前
Electron 加载原生模块总崩溃?搞懂这两行配置就够了
前端·electron·客户端
拉拉肥_King1 小时前
pc端视频压缩:FFmpeg.wasm 实战指南
前端
0x861 小时前
基于 Dio 实现 SSE 流式通信
前端
ZC跨境爬虫1 小时前
跟着 MDN 学 HTML day_40:(DOMImplementation 接口完全解析)
前端·ui·html·媒体
之歆1 小时前
DAY_17深度博客:CSS 响应式布局 · BFC · JavaScript 完全指南(上)
javascript·js