最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3使用elementplus圖標(biāo)方式

 更新時(shí)間:2026年03月26日 16:32:52   作者:qq_45438471  
這篇文章主要介紹了vue3使用elementplus圖標(biāo)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

在實(shí)際項(xiàng)目中,我們常常需要用到圖標(biāo),所以本文主要來介紹一下vue3使用elementplus圖標(biāo)的方法。

一、簡(jiǎn)單介紹

首先我們需要簡(jiǎn)單了解Element UI 和Element Plus 在對(duì)圖標(biāo)的使用上的不同。

Element UI 使用的是阿里巴巴的圖標(biāo)庫,通過字體圖標(biāo)的用法(即使用 el-icon-xxx 的類名)來引入圖標(biāo)。

Element Plus 拋棄了字體圖標(biāo)的用法,而直接使用了 svg 。Element Plus 團(tuán)隊(duì)自行開發(fā)了一套圖標(biāo),并且保存在@element-plus/icons-vue安裝包中。

補(bǔ)充:

Vue中可以直接在模板中使用<svg>標(biāo)簽來插入 SVG 數(shù)據(jù)。將代碼復(fù)制到模板中,并根據(jù)需要添加樣式和屬性。

示例:

<template>
  <div>
    <svg class="icon" viewBox="0 0 24 24">
      <path d="M12 2L1 21h22L12 2zm0 4.88L18.12 19H5.88L12 6.88z" />
    </svg>
  </div>
</template>

<style>
.icon {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
</style>

ElementPus 團(tuán)隊(duì)就是利用了這個(gè)特點(diǎn)封裝圖標(biāo),所以使用elementplus圖標(biāo)就是使用組件。

官網(wǎng) 中,使用element-plus圖標(biāo)有兩種方法:

  1. 因?yàn)閳D標(biāo)也是組件,所以導(dǎo)入后可以直接使用(不推薦)
  2. 與el-icon結(jié)合使用(推薦)

下面主要講方法二的使用。

二、導(dǎo)入

1、手動(dòng)導(dǎo)入(不推薦)

首先下載element-plus庫和element-plus的icons圖標(biāo)庫,

npm i -D element-plus @element-plus/icons-vue
  • 1、局部導(dǎo)入
<template>
	// 結(jié)合el-icon使用
	// 在 el-icon 上設(shè)置 size 和 color 就能控制 svg圖標(biāo) 的大小和顏色
	// 注意: size 屬性必須傳數(shù)字,不能傳字符串進(jìn)去!
	<el-icon :size="30" color="teal"><User /></el-icon>
	<el-icon :size="30" color="teal"><Lock /></el-icon>
</template>

<script setup>
// 局部導(dǎo)入el-icon組件及其樣式
import { ElIcon } from 'element-plus'
import 'element-plus/es/components/icon/style/css'
// 局部導(dǎo)入圖標(biāo)組件
import { User,Lock } from '@element-plus/icons-vue'
</script>
  • 2、全局注冊(cè)(還行,但消耗性能)

在main.js中將圖標(biāo)組件全局注冊(cè)

import { createApp } from 'vue'

import * as ElementPlusIconsVue from '@element-plus/icons-vue' 
import { ElIcon } from 'element-plus'
import 'element-plus/es/components/icon/style/css'

const app = createApp(App) 
// 將所有圖標(biāo)組件逐一全局注冊(cè)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) { 
	app.component(key, component) 
} 
// 將el-icon全局注冊(cè)
app.component(ElIcon)
app.mount('#app')

在組件中使用

<template>
	<el-icon :size="30" color="teal"><User /></el-icon>
	<el-icon :size="30" color="teal"><Lock /></el-icon>
</template>

因?yàn)閑lement-plus的圖標(biāo)組件無css屬性,所以無需導(dǎo)入樣式,若需要要自己手動(dòng)設(shè)置css來添加圖標(biāo)屬性。

2、自動(dòng)導(dǎo)入(推薦)

首先下載unplugin-icons unplugin-auto-import unplugin-vue-components這三個(gè)插件,這些插件會(huì)幫助從 iconify 圖標(biāo)集中自動(dòng)導(dǎo)入任何圖標(biāo)集。

介紹:

Iconify 是一個(gè)開源的圖標(biāo)庫,提供了一套豐富的矢量圖標(biāo),包括了多個(gè)圖標(biāo)集,如 FontAwesome、Material Design Icons 等,當(dāng)然 Element Plus 的一套圖標(biāo)組件也包含在Iconify 圖標(biāo)庫中。

使用 Iconify,你可以通過引入相應(yīng)的圖標(biāo)集,并使用相應(yīng)的圖標(biāo)名稱來添加圖標(biāo)到你的項(xiàng)目中。

  • 無需下載element-plus庫或者element-plus/icons-vue庫
npm i -D unplugin-icons unplugin-auto-import unplugin-vue-components

配置vue.config.js文件

// 直接復(fù)制到vue.config.js中去就可以了
const { defineConfig } = require('@vue/cli-service')

const ElementPlus = require('unplugin-element-plus/webpack')
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')

const Icons = require('unplugin-icons/webpack')
const IconsResolver = require('unplugin-icons/resolver')

module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
  	plugins: [
  		/**
  		ElementPlus({
  			libs: [{
  				libraryName: 'element-plus',
                esModule: true,
                resolveStyle: (name) => {
                	return `element-plus/theme-chalk/${name}.css`
                }
  			}]
  		}),**/
  		// 主要功能:導(dǎo)入組件和樣式
  		AutoImport({
        	resolvers: [
        		IconsResolver({
                	prefix: 'Icon',
                }),
        		ElementPlusResolver()
        	],
      	}),
      	// 主要功能:將組件變成全局組件(注冊(cè)組件)
      	Components({
        	resolvers: [
        		IconsResolver({
        			// alias: { 'icon': "ep", //配置別名 }
                	enabledCollections: ['ep'],
                }),
        		ElementPlusResolver()
        	],
      	}),
      	// 下載所需圖標(biāo)組件
      	Icons({
      		autoInstall: true,
      	})
  	]
  }
})

在組件中使用

<template>
	<el-input prefix-icon="IEpUser" placeholder="請(qǐng)輸入用戶名"></el-input>
	<el-icon><IEpUser/></el-icon>
	<i-ep-delete />
</template>

2-1、代碼解析

  • Iconify 圖標(biāo)結(jié)構(gòu)由三部分組成:{prefix}-{collection}-{icon}
  • prefix:icon的前綴,默認(rèn)值為’i’,可設(shè)置成false,如果設(shè)置成false,那么組件使用就變成 <ep-edit/>
  • collection: 默認(rèn)是iconify
  • icon: 圖標(biāo)集中對(duì)應(yīng)的圖標(biāo)名字
  • collection對(duì)應(yīng)的是 enabledCollections配置,默認(rèn)是iconify上的所有圖標(biāo)。這里設(shè)置的是[‘ep’],表示的是Iconify 中的 element-plus 的圖標(biāo),也可以設(shè)置mdi、ant-design,它會(huì)自動(dòng)根據(jù)名稱在package.json下載安裝對(duì)應(yīng)的圖標(biāo)集
  • Icons()表示會(huì)自動(dòng)安裝@iconify-json/ep的依賴,設(shè)置為true,他就會(huì)自動(dòng)安裝iconify 圖標(biāo)。

三、注意

情景:圖標(biāo)在按鈕中使用

<template>
    <!-- 方式一 -->
	<el-button type="primary" size="small">
		查詢
		<el-icon size="40px">
			<i-ep-search/>
		</el-icon>
	</el-button>
	<!-- 方式二 -->
	<el-button type="success" size="small" :icon="IEpSearch" round >
		新增用戶
	</el-button>
</template>

運(yùn)行程序后,你會(huì)發(fā)現(xiàn):對(duì)于方式一,因?yàn)閑l-button和el-icon都有size屬性,所以當(dāng)同時(shí)給兩者設(shè)定size值時(shí),可能會(huì)出現(xiàn)icon比button大的情況,顯然不是我們想看到的。而使用方法二可以有效規(guī)避這個(gè)風(fēng)險(xiǎn),大家可以根據(jù)需求選擇哪種方式。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue 組件之間使用eventbus傳值

    詳解vue 組件之間使用eventbus傳值

    本篇文章主要介紹了vue 組件之間使用eventbus傳值。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Vue+Element ui實(shí)現(xiàn)樹形控件右鍵菜單

    Vue+Element ui實(shí)現(xiàn)樹形控件右鍵菜單

    這篇文章主要為大家詳細(xì)介紹了Vue+Element ui實(shí)現(xiàn)樹形控件右鍵菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • vue 調(diào)用 RESTful風(fēng)格接口操作

    vue 調(diào)用 RESTful風(fēng)格接口操作

    這篇文章主要介紹了vue 調(diào)用 RESTful風(fēng)格接口操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 通過npm或yarn自動(dòng)生成vue組件的方法示例

    通過npm或yarn自動(dòng)生成vue組件的方法示例

    這篇文章主要介紹了通過npm或yarn自動(dòng)生成vue組件的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vue中的組件及路由使用實(shí)例代碼詳解

    Vue中的組件及路由使用實(shí)例代碼詳解

    組件系統(tǒng)是 Vue 的一個(gè)重要概念,因?yàn)樗且环N抽象,允許我們使用小型、獨(dú)立和通常可復(fù)用的組件構(gòu)建大型應(yīng)用。這篇文章主要介紹了Vue中的組件及路由使用 ,需要的朋友可以參考下
    2019-05-05
  • vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向

    vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向

    這篇文章主要為大家詳細(xì)介紹了vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的方法

    elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的方法

    現(xiàn)在需要做一個(gè)時(shí)間選擇器,可以根據(jù)小時(shí)(同時(shí)選天和小時(shí))和天?和月,節(jié)假日等類型控制日歷的選擇樣式,下面這篇文章主要給大家介紹了關(guān)于elementUI組件中el-date-picker限制時(shí)間范圍精確到小時(shí)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • vue導(dǎo)航欄部分的動(dòng)態(tài)渲染實(shí)例

    vue導(dǎo)航欄部分的動(dòng)態(tài)渲染實(shí)例

    今天小編就為大家分享一篇vue導(dǎo)航欄部分的動(dòng)態(tài)渲染實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • unplugin-svg-component優(yōu)雅使用svg圖標(biāo)指南

    unplugin-svg-component優(yōu)雅使用svg圖標(biāo)指南

    這篇文章主要為大家介紹了unplugin-svg-component優(yōu)雅使用svg圖標(biāo)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Vue.js 中 ref 和 reactive 的區(qū)別及用法解析

    Vue.js 中 ref 和 reactive 的區(qū)別及用法解析

    在Vue.js中,ref主要用于創(chuàng)建響應(yīng)式的引用,通過.value屬性來訪問和修改值,特別適用于需要頻繁更改整個(gè)值的場(chǎng)景,而reactive則用于創(chuàng)建深度響應(yīng)的對(duì)象或數(shù)組,本文給大家介紹Vue.js 中 ref 和 reactive 的區(qū)別及用法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評(píng)論

靖远县| 金华市| 陇南市| 曲靖市| 车险| 德州市| 富宁县| 定结县| 荔波县| 正宁县| 夏邑县| 巩义市| 天长市| 永州市| 双江| 策勒县| 英吉沙县| 庄浪县| 庄浪县| 宜城市| 盐山县| 昭通市| 海原县| 长武县| 迁安市| 美姑县| 霍城县| 准格尔旗| 株洲县| 和林格尔县| 曲靖市| 日喀则市| 永新县| 措勤县| 贵港市| 加查县| 江口县| 聊城市| 蒙城县| 潜山县| 辽中县|