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 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰13 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万13 小时前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝13 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A13 小时前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋14 小时前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
大蓝头14 小时前
安装包UI美化之路-nsNiuniuSkin全新UI调试与预览方法
ui·electron·安装包·截图控件·截屏控件
卡布鲁14 小时前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄15 小时前
JavaScript 隐式全局变量解析
javascript
honkun615 小时前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table