前端学习交流QQ群:1群:173683895 ,2群: 173683866  欢迎加入学习交流进步

承接项目开发,需求功能开发,博主微信号:Jay_09168

最终达成结果:

 

操作步骤

1.登录阿里图库新增项目

iconfont-阿里巴巴矢量图标库 ,点击资源管理-我的项目-新增项目,如图所示:

 

 填写项目名称,项目名称随便填,不重要

 填写前缀和font family,如上图,icon-msd ,msd, 这个msd就是你的项目标识,点击新建。

2.把图标添加到项目里面,(注意只能上传svg格式),会有5分钟左右的审核,审核通过以后才能上传保存,然后下载到本地。

 

 

 审核通过以后,点击保存颜色并提交 

 

 会下载一个压缩包,解压以后是这样

 3.进入项目代码里面,在src/components下新建一个iconfont的文件夹(其他文件中也可以),把上图的文件复制到新建的iconfont文件夹下,如下图:

 4.在iconfont文件夹中新建一个common.less的文件,内容如下(前面填的项目标识,msd需要写成你前面填写的 )

/* 引入 icon class 文件 */
@import  "./iconfont.css";

/* 设置使用字体的优先级 anticon 高 */
:global(.anticon) {  /* :global() 是为了覆盖全局class .anticon 的样式 */
  &:before {
    font-family: "icon-msd", "msd" !important;
    /* 默认样式是这样
        font-family: "anticon" !important;
    */
  }
}

 

 5.在/src/App.vue文件,引入刚刚创建的common.less

import '@/components/iconfont/common.less'

6.找到/src/views/system/modules/icon/icons.vue文件,添加一列自定义图标

      <a-tab-pane tab="自定义图标" key="7">
              <ul>
                <li v-for="icon in icons.selfIcons" :key="icon">
                  <i :type="icon" :title="icon" @click="chooseIcon(icon)" :class="[{'active':activeIndex === icon}, `msd ${icon}`]"></i>
                </li>
              </ul>
      </a-tab-pane>
const selfIcons = ['icon-msda-shujuzonglan2x','icon-msda-zigongjingaifangkongzhiyin2x','icon-msda-yibaike2x','icon-msda-zigongjingaiyucegongju2x','icon-msda-xitongshezhi2x']


selfIcons里面的值就是你上传到阿里图库里面的svg名称,在阿里图库选择【Font Class】然后复制图标代码

7.找到src/components/menu/index.js,然后找到文件中的renderIcon方法添加以下代码 

      if (icon !== 'none' && icon !== undefined && icon.indexOf('icon-msd')!=-1) {
              let className = "msd " + icon;
              return <i class={className} style='margin-right:8px;'></i>;
      }

msd改成你之前填的项目标识,className 后面的项目标识字符串后面需要有一个空格

 8.完成

现在可以打开菜单管理中的菜单图标选择,就会发现多了一列tab页是你的自定义图标,选择后保存,刷新页面就可以看到该菜单的图标改为我们自定义的图标了

 

Logo

前往低代码交流专区

更多推荐