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

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

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

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

一、簡單介紹

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

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

Element Plus 拋棄了字體圖標(biāo)的用法,而直接使用了 svg 。Element Plus 團(tuán)隊自行開發(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)隊就是利用了這個特點封裝圖標(biāo),所以使用elementplus圖標(biāo)就是使用組件。

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

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

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

二、導(dǎo)入

1、手動導(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、全局注冊(還行,但消耗性能)

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

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)組件逐一全局注冊
for (const [key, component] of Object.entries(ElementPlusIconsVue)) { 
	app.component(key, component) 
} 
// 將el-icon全局注冊
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>

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

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

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

介紹:

Iconify 是一個開源的圖標(biāo)庫,提供了一套豐富的矢量圖標(biāo),包括了多個圖標(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)到你的項目中。

  • 無需下載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()
        	],
      	}),
      	// 主要功能:將組件變成全局組件(注冊組件)
      	Components({
        	resolvers: [
        		IconsResolver({
        			// alias: { 'icon': "ep", //配置別名 }
                	enabledCollections: ['ep'],
                }),
        		ElementPlusResolver()
        	],
      	}),
      	// 下載所需圖標(biāo)組件
      	Icons({
      		autoInstall: true,
      	})
  	]
  }
})

在組件中使用

<template>
	<el-input prefix-icon="IEpUser" placeholder="請輸入用戶名"></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)集中對應(yīng)的圖標(biāo)名字
  • collection對應(yīng)的是 enabledCollections配置,默認(rèn)是iconify上的所有圖標(biāo)。這里設(shè)置的是[‘ep’],表示的是Iconify 中的 element-plus 的圖標(biāo),也可以設(shè)置mdi、ant-design,它會自動根據(jù)名稱在package.json下載安裝對應(yīng)的圖標(biāo)集
  • Icons()表示會自動安裝@iconify-json/ep的依賴,設(shè)置為true,他就會自動安裝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)行程序后,你會發(fā)現(xiàn):對于方式一,因為el-button和el-icon都有size屬性,所以當(dāng)同時給兩者設(shè)定size值時,可能會出現(xiàn)icon比button大的情況,顯然不是我們想看到的。而使用方法二可以有效規(guī)避這個風(fēng)險,大家可以根據(jù)需求選擇哪種方式。

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

    通過npm或yarn自動生成vue組件的方法示例

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

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

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

    vue移動端判斷手指在屏幕滑動方向

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

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

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

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

    今天小編就為大家分享一篇vue導(dǎo)航欄部分的動態(tài)渲染實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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屬性來訪問和修改值,特別適用于需要頻繁更改整個值的場景,而reactive則用于創(chuàng)建深度響應(yīng)的對象或數(shù)組,本文給大家介紹Vue.js 中 ref 和 reactive 的區(qū)別及用法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評論

渝中区| 北宁市| 万源市| 洮南市| 磐石市| 普兰店市| 资溪县| 凤台县| 汉川市| 莱西市| 大丰市| 维西| 通道| 三穗县| 罗平县| 安阳市| 庄河市| 长白| 阳西县| 寿宁县| 关岭| 安龙县| 莱阳市| 城固县| 建宁县| 盐山县| 长顺县| 泰来县| 广宁县| 鄂托克前旗| 武夷山市| 宜兰市| 饶平县| 丰原市| 庆安县| 鄄城县| 瓮安县| 永登县| 前郭尔| 肃宁县| 宁城县|