Element-plus的icon图标不显示解决方案

        Vue升级到Vue3,Element为了适应vue3,从Element-ui升级到了Element-plus,这个升级改动了不小。icon就算其中一个,plus中将icon组件化了,要注册才能使用,不像ui那版一样使用那么方便了,这到底是升级了还是退步了呢,咱也不知道。

 步骤

1.安装element-plus

         这篇文章就记录一下vue3环境下element-plus怎么使用icon图标,首先你要安装了element-plus。

# 选择一个你喜欢的包管理器

# NPM
$ npm install element-plus --save

# Yarn
$ yarn add element-plus

# pnpm
$ pnpm install element-plus

        你不喜欢他整套的,就想用它icon图标那也没问题单独安装就行了 

# 选择一个你喜欢的包管理器

# NPM
$ npm install @element-plus/icons-vue
# Yarn
$ yarn add @element-plus/icons-vue
# pnpm
$ pnpm install @element-plus/icons-vue

 2.引用icon图标

         然后就是引用icon图标,<el-icon><House /></el-icon> 里面的House就是图标的名字,el-icon是标签。

<el-menu-item index="/">
            <el-icon>
              <House />
            </el-icon>
            <span>首页</span>
 </el-menu-item>

 3.注册组件

        3.1局部注册

        做完上面那2步图标还是不会显示的,因为你没有注册,vue不知道 <House />是个什么东西,现在演示的是局部注册,适合只有几个页面就用几个小图标的。数量比较少。

选项式api的写法(vue2)

这里的vue2是指这语法是像以前的vue2那样写,vue3中能写vue2的那种api的

<script>
   import { House } from '@element-plus/icons-vue'

    export default {
        components: {
           House
        },
    }
</script>
组合式aip的写法(vue3)

        是不是组合式的更简便一点?因为他使用了setup语法糖,会自动帮你return。

<script setup>
import { House } from '@element-plus/icons-vue'

</script> 

3.2全局注册

        介绍完局部注册了,现在介绍全局注册,这种适合你好几个页面用到他的icon图标而且数量比较多,那你总不能用到哪个就去注册哪个吧,那多麻烦呀!所以我们用全局注册,这样再也不用去import xxx 了。

        想必你用了element你肯定再main.js那importelement-plus了吧,结构应该和我差不多吧。

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import '@/assets/global.css'
createApp(App).use(router).use(ElementPlus).mount('#app')

         那现在就只需要几步就能全局注册了!改造成下面这样 下面那个for循环就起到了遍历ElementPlusIconsVue这个对象里面所有的键值,然后全部注册。

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import '@/assets/global.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const app = createApp(App);

for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component);
}

app.use(router).use(ElementPlus);
app.mount('#app');

4.效果展示

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 element-plus 组件库中的 el-icon 组件来引入 icon 图标。这个组件可以接受一个 type 属性,用来指定图标的名称。例如: ``` <el-icon type="search"></el-icon> ``` 这样就可以在页面上显示一个搜索图标。 需要注意的是使用 element-plus 组件库需要先安装 element-plus 库。 ``` npm install element-plus ``` 在 main.js 中引入 ``` import Element from 'element-plus' Vue.use(Element) ``` 通过这样的方式就可以使用 el-icon 组件了。 ### 回答2: element-plus 是基于 Vue.js 的 UI 组件库,其中封装了许多常用的 UI 组件,同时也提供了一些图标来帮助用户更直观地理解 UI 组件的使用。但是,element-plus 内置的图标可能不满足每个用户的需求,因此需要引入自定义的图标。 要引入自定义的图标,首先需要找到自己想要使用的图标集,例如阿里图标库(iconfont)、Google Material Icons 等。在本例中,我们将以阿里图标库为例,介绍如何引入自定义的图标。 1. 在阿里图标库中找到想要使用的图标集,并下载到本地。 2. 在 main.js 中引入阿里图标库的样式代码,并调用 add 方法注册需要使用的图标文件: ``` import '~~/iconfont.css' import { ElIcon } from 'element-plus' ElIcon.add({ star: '<svg viewBox="0 0 1024 1024" p-id="3799" width="1em" height="1em"><path d="M985.6 398.4l-307.2-44.8L542.72 72.96c-17.28-32-52.48-32-69.76 0L346.88 353.6 38.4 398.4C4.48 406.4-14.08 441.6 2.88 471.04l205.44 276.48-51.2 307.2c-3.52 20.48 4.48 41.6 21.76 53.76 8.96 6.4 19.2 9.6 29.44 9.6 8.96 0 18.56-2.56 27.52-9.6L512 772.48l286.72 150.4c8.96 6.4 18.56 9.6 27.52 9.6 10.24 0 20.48-3.2 29.44-9.6 17.28-12.16 25.28-33.28 21.76-53.76L815.36 747.52l205.44-276.48c16.64-29.44-2.88-64.64-35.84-72.64z" fill="" p-id="3800"></path></svg>' }) app.component('ElIcon', ElIcon) ``` 其中,`import '~~/iconfont.css'` 是引入阿里图标库的样式文件,`ElIcon.add()` 中的 star 是注册的图标名称,SVG 格式的图片代码为图标的实际样式代码,最后在应用中注册 ElIcon 组件。 3. 在应用中使用自定义的图标: ``` <el-icon name="star"></el-icon> ``` 其中的 name 属性即为注册时的图标名称,即可显示出自定义的图标了。 总结来说,使用 element-plus 自带的图标可能不能满足每个用户的需求,因此可以通过引入自定义的图标来使用,具体步骤是先找到适合的图标集并下载到本地,然后将图标库的样式文件引入到 main.js 中,并注册需要使用的图标文件。注册完成后,在应用中即可通过 el-icon 组件的 name 属性来使用自定义的图标。 ### 回答3: element-plus 是一款基于 Vue3 的 UI 组件库,拥有丰富的组件,包括图标组件。图标组件是一种轻量级的 UI 设计元素,可以用来代替文字标签,使界面更加清晰易懂。本文将介绍如何引入 element-plus 的 icon 图标。 1.安装 element-plus 在引入 icon 图标之前,需要先安装 element-plus。可以通过以下命令来安装: ``` npm install element-plus --save ``` 2.引入 icon 图标 在 Vue 组件中引入 element-plus 的 icon 图标,可以使用以下步骤: (1)在 main.js 中全局引入 element-plus 组件库: ```javascript import { createApp } from 'vue'; import ElementPlus from 'element-plus'; import 'element-plus/lib/theme-chalk/index.css'; import App from './App.vue'; createApp(App).use(ElementPlus).mount('#app'); ``` (2)在 Vue 组件中使用 element-plus 的 icon 图标: ```javascript <template> <div> <el-icon name="el-icon-search"></el-icon> </div> </template> ``` 上面的代码中,`el-icon` 标签表示 icon 图标组件,通过 `name` 属性指定要显示图标,这里使用的是 `el-icon-search`,表示显示搜索图标。 3.使用自定义图标 如果 element-plus 提供的默认图标不能满足需求,可以使用自定义图标。以下是自定义图标的步骤: (1)在项目的 public 文件夹下创建 icons 文件夹,并在该文件夹下添加 SVG 图标文件。 (2)在 main.js 中引入 `@element-plus/icons`: ```javascript import '@element-plus/icons'; ``` (3)在 Vue 组件中使用自定义图标: ```javascript <template> <div> <i class="el-icon-myicon"></i> </div> </template> <style> .el-icon-myicon:before { content: ''; display: inline-block; width: 1em; height: 1em; background-image: url('/icons/myicon.svg'); background-repeat: no-repeat; background-size: contain; transform: translateY(-3px); /*调整图标垂直方向位置*/ } </style> ``` 上面的代码中,`el-icon-myicon` 是自定义图标的类名,在样式表中定义了 `before` 伪元素,通过 `background-image` 属性指定了 SVG 图标文件的路径,并通过 `background-size` 属性指定 SVG 图标文件的大小。同时通过 `transform` 属性调整了图标的垂直方向位置。 总结 以上就是element-plus引入icon图标的方法。element-plus提供了丰富的图标组件,可以满足大多数项目的需求。如果有特殊需求,可以通过自定义图标的方式实现。在使用图标组件时,要注意添加适当的样式,使图标显示效果更佳。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值