《ElementPlus 与 ElementUI 差异集合》icon 图标使用(包含:el-button,el-input和el-dropdown 差异对比)

news2024/11/19 8:38:37

安装

注意 ElementPlusIcon 图标 要额外安装插件 @element-plus/icons-vue.

npm install @element-plus/icons-vue

注册

全局注册

定义一个文件 element-icon.js ,注意代码第 6 行。加上了前缀 ElIcon ,避免组件命名重复,且易于理解为 element-plusicon

import * as ElementPlusIconsVue from '@element-plus/icons-vue'

export const registerElIcon = (app) => {
    // 全局注册图标 ElIconXxxx
    for (let i in ElementPlusIconsVue) {
        let name = `ElIcon${i}`;
        app.component(name, ElementPlusIconsVue[i])
    }
}

main.js 中引入

import { registerElIcon } from './elements-icon.js'

// 全局注册 el-icon
registerElIcon(app);

局部注册

在组件内局部注册,这里使用 <script setup>

<script setup>
import {
    Postcard as ElIconPostcard,
    Calendar as ElIconCalendar,
} from '@element-plus/icons-vue'
</script>

使用

全局或局部注册的使用方式是一样的。使用方式也有两种,且注意接下来的使用都是加了前缀 el-icon-xxxElIconXxxx

方式一:结合 el-icon 使用

使用 el-iconSVG 图标提供属性

<!-- 小驼峰方式 -->
<el-icon :size="size" :color="color">
	<el-icon-edit />
</el-icon>

<!-- 大驼峰方式 -->
<el-icon :size="size" :color="color">
	<ElIconEdit />
</el-icon>

方式二:直接使用 SVG 图标

<!-- 小驼峰方式 -->
<el-icon-edit />

<!-- 大驼峰方式 -->
<ElIconEdit />

与 ElementUI 的区别

el-button

  • element-ui el-button 中的 icon 使用,属性 icon 是图标类名,类型是 string
  • element-plus el-button 中的 icon 使用,属性 icon 图标组件,类型是 string /Component

element-ui

方式 1:class=“el-icon-xxx” 类名

如图蓝色框是图标,文字标签 <span> 包裹图标标签 <i class="el-icon-xxx">

<el-button size="mini" type="text" >
    <i class="el-icon-folder-add"></i>新建1
</el-button>

在这里插入图片描述

方式 2:el-button icon 属性

如图蓝色框是图标,文字标签 <span> 与图标标签 <i class="el-icon-xxx">同级。

<el-button size="mini" type="text" icon="el-icon-folder-add">
    新建2
</el-button>

在这里插入图片描述

element-plus

以下 icon 组件都是加了前缀 ElIconXxxxel-icon-xxx

1. icon 组件方式

无论 icon 是全局或局部注册,在 el-button 中的使用方式都是一样的。

方式 1:直接使用 SVG 图标

如图蓝色框是图标,直接渲染 <svg> 标签。

<!-- 方式1:直接使用 SVG 图 -->
<el-button size="small" type="primary" link >
	<ElIconFolderAdd/>新建1
</el-button>

在这里插入图片描述

方式 2:结合 el-icon 使用

如图蓝色框是图标,且被标签 <i class="el-icon"> 包裹一层。

<!-- 方式2:结合 `el-icon` 使用 -->
<el-button size="small" type="primary" link >
	<el-icon><ElIconFolderAdd/></el-icon>新建2
</el-button>

在这里插入图片描述

2.el-button icon 属性方式

此处有坑!!! icon 的全局和局部组件注册,在 el-button 中使用 icon 属性有差异

方式 1:el-button 属性 icon 为 Component 类型

局部注册有效,全局注册无效!

  • 使用 el-button 属性 icon
  • 局部注册,在可以找到属性 icon 的组件对象;
  • 全局注册,无法找到icon 的组件对象,所以渲染失败
  • html 把文字标签 <span> 与标签 <i class="el-icon"> 渲染为同级;
<!-- 局部注册,注意 icon 前有 : -->
<el-button size="small" type="primary" link :icon="ElIconFolderAdd">
	新建3
</el-button>

在这里插入图片描述

方式 2:el-button 属性 icon 为 string 类型

全局注册有效,局部注册无效!

  • 使用 el-button 属性 icon,且没有 :
  • 全局注册,识别为全局注册的组件名称;
  • 局部注册,找不到组件名称,所以渲染失败
  • **小技巧:**代码第 6 行,也可写成小驼峰。这样就和 ElementUI 方式2 一致了 ;
  • html 把文字标签 <span> 与标签 <i class="el-icon"> 渲染为同级;

此方式无效。注意 icon 前没有 : ,传入是 string 类型,组件无法被识别。

<!-- 全局注册:注意 icon 前没有 : -->
<el-button size="small" type="primary" link icon="ElIconFolderAdd">
	新建4
</el-button>
<!-- 全局注册:注意 icon 前没有 : -->
<el-button size="small" type="primary" link icon="el-icon-folder-add">
    新建5
</el-button>

在这里插入图片描述

el-input

  • element-ui el-input 中的 icon 使用,属性前缀 prefix-icon 或后缀 suffix-icon 是图标类名,类型是 string

  • element-plus el-input 中的 icon 使用,属性前缀 prefix-icon 或后缀 suffix-icon 是图标类名,图标组件,类型是 string /Component

element-ui

有两种方式:

  1. 属性方式:使用前缀 prefix-icon 和后缀 suffix-icon
  2. slot 方式:使用前缀 prefix 和后缀 suffix
<!-- 属性方式 -->
<el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="inputVal"></el-input>  

<!-- slot 方式 -->
<el-input placeholder="请输入内容" v-model="inputVal">
    <i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>

element-plus

这里不再赘述 icon 组件的全局注册和局部注册的差异。与 el-button 同理。

同样有两种方式。:

  1. 属性方式:使用前缀 prefix-icon 和后缀 suffix-icon
  2. slot 方式:使用前缀 #prefix 和后缀 #suffix
<!-- 属性方式,且局部注册,类型为 Component,有 :  -->
<el-input placeholder="请输入内容" :prefix-icon="ElIconSearch" v-model="inputVal" />

<!-- 属性方式,全局部注册,类型为 string。没有 :  -->
<el-input placeholder="请输入内容" prefix-icon="ElIconSearch" v-model="inputVal" />

<!-- 属性方式,全局部注册,类型为 string。没有 : 小驼峰  -->
<el-input placeholder="请输入内容" prefix-icon="el-icon-search" v-model="inputVal" />

<!-- slot 方式 -->
<el-input placeholder="请输入内容" v-model="inputVal">
	<template #prefix>
        <el-icon class="el-input__icon"><ElIconSearch/></el-icon>
	</template>
</el-input>

el-dropdown

这里不再赘述 icon 组件的全局注册和局部注册的差异。与 el-button 同理。

  • element-ui el-dropdown 中的 icon 使用

  • element-plus el-dropdown 中的 icon 使用

element-ui

使用属性 icon 方式。

<el-dropdown-menu>
    <el-dropdown-item command="about"  icon="el-icon-setting">关于</el-dropdown-item>
    <el-dropdown-item command="theme"  icon="el-icon-data-analysis">主题</el-dropdown-item>
    <el-dropdown-item command="logout" icon="el-icon-switch-button">注销</el-dropdown-item>
</el-dropdown-menu>

element-plus

使用属性 icon 方式。

<el-dropdown-menu>
    <!-- 属性方式,且局部注册,类型为 Component,有 :  -->
    <el-dropdown-item command="admin" :icon="ElIconSetting">后台管理</el-dropdown-item>
    <!-- 属性方式,全局部注册,类型为 string。没有 :  -->
    <el-dropdown-item command="theme" icon="ElIconDataAnalysis">切换主题</el-dropdown-item>
    <!-- 属性方式,全局部注册,类型为 string。没有 : 小驼峰  -->
    <el-dropdown-item command="logout" :con="el-icon-switch-button">注销</el-dropdown-item>
</el-dropdown-menu>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1514618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

还是了解下吧,大语言模型调研汇总

大语言模型调研汇总 一. Basic Language ModelT5GPT-3LaMDAJurassic-1MT-NLGGopherChinchillaPaLMU-PaLMOPTLLaMABLOOMGLM-130BERNIE 3.0 Titan 二. Instruction-Finetuned Language ModelT0FLANFlan-LMBLOOMZ & mT0GPT-3.5ChatGPTGPT-4AlpacaChatGLMERNIE BotBard 自从Cha…

如何创建Gitflow图表

如何创建Gitflow图表 drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址drawon.cn或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了云端存储…

【关注】国内外经典大模型(ChatGPT、LLaMA、Gemini、DALL·E、Midjourney、文心一言、千问等

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

Django官网项目 五

Writing your first Django app, part 5 | Django documentation | Django 自动测试介绍 何为自动测试 测试有系统自动完成。你只需要一次性的编写测试代码&#xff0c;当程序代码变更后&#xff0c;不需要对原来的测试人工再重新测试一遍。系统可以自动运行原来编写的测试代…

使用Thymeleaf-没有js的html模板导出为pdf

html模板 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"><head><title>PDF Template</title> </head> <body> <h1>User Information</h1> <p>Name: <span th:text"${user.name}&…

干洗店管理系统洗鞋店预约上门小程序洗护流程;

干洗店洗鞋店收银管理系统&#xfe63;智能线上预约洗衣店小程序软件; 闪站侠洗衣洗鞋店收银管理系统&#xff0c;一款集进销存、收衣、收银、会员管理等实用功能于一体的洗护管理软件&#xff0c;适用于各大中小型企业个体工商户&#xff0c;功能强大&#xff0c;操作简单&…

【相关问题解答1】bert中文文本摘要代码:import时无法找到包时,几个潜在的原因和解决方法

【相关问题解答1】bert中文文本摘要代码 写在最前面问题1问题描述一些建议import时无法找到包时&#xff0c;几个潜在的原因和解决方法1. 模块或包的命名冲突解决方法&#xff1a; 2. 错误的导入路径解决方法&#xff1a; 3. 第三方库的使用错误解决方法&#xff1a; 4. 包未正…

数据挖掘(作业4--异常值检测

异常检测方法通常可分为使用参数的方法和基于距离的方法。 1. 使用参数的异常检测方法 1.1 基础理论 使用参数的异常检测方法基于假设数据符合特定的分布&#xff08;如高斯分布、二项分布&#xff09;或模型&#xff08;如混合模型&#xff09;。这些方法通常通过对数据进行…

百度AI智能审核

一、介绍 百度内容审核平台&#xff08;Baidu Content Audit Platform&#xff09;是百度推出的一款用于进行内容审核的平台。该平台利用人工智能技术&#xff0c;对用户上传的各类内容进行审核和过滤&#xff0c;以实现内容的合规和安全&#xff0c;可以识别和过滤涉黄、涉政…

Apache SeaTunnel MongoDB CDC 使用指南

随着数据驱动决策的重要性日益凸显&#xff0c;实时数据处理成为企业竞争力的关键。SeaTunnel MongoDB CDC(Change Data Capture) 源连接器的推出&#xff0c;为开发者提供了一个高效、灵活的工具&#xff0c;以实现对 MongoDB 数据库变更的实时捕获和处理。 本文将深入探讨该连…

LeetCode——贪心算法(Java)

贪心算法 简介[简单] 455. 分发饼干[中等] 376. 摆动序列[中等] 53. 最大子数组和[中等] 122. 买卖股票的最佳时机 II[中等] 55. 跳跃游戏 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录的刷题路线。会附上一些个人的思路&#xff0c;如果有错误&#xf…

STM32输入捕获频率和占空比proteus仿真失败

这次用了两天的时间来验证这个功能&#xff0c;虽然实验没有成功&#xff0c;但是也要记录一下&#xff0c;后面能解决了&#xff0c;回来再写上解决的办法&#xff1a; 这个程序最后的实验结果是读取到的CCR1和CCR2的值都是0&#xff0c;所以没有办法算出来频率和占空比。 还…

人工智能|机器学习——BIRCH聚类算法(层次聚类)

这里再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大&#xff0c;类别数K也比较多的情况。它运行速度很快&#xff0c;只需要单遍扫描数据集就能进行聚类。 1.什么是流形学习 BIRCH的全称是利用层次方法的平衡迭代规约和聚类&#xff08;Balanced Iterative…

应用程序性能监控(APM)的解决方案

随着技术的不断发展&#xff0c;APM 监控和可观测性的重要性怎么强调都不为过&#xff0c;应用程序已成为业务运营的支柱。随着组织越来越依赖数字解决方案来推动其流程并与用户互动&#xff0c;确保最佳性能和可用性变得至关重要。这超越了系统正常运行时间&#xff0c;深入研…

拼多多商品详情接口数据采集

拼多多商品详情接口数据采集是一个相对专业的任务&#xff0c;通常涉及到使用API接口或第三方采集工具等技术手段。以下是一些基本步骤和注意事项&#xff0c;供您参考&#xff1a; 请求示例&#xff0c;API接口接入Anzexi58 申请开发者账号&#xff1a;如果您打算使用API接口…

政务云安全风险分析与解决思路探讨

1.1概述 为了掌握某市政务网站的网络安全整体情况&#xff0c;在相关监管机构授权后&#xff0c;我们组织人员抽取了某市78个政务网站进行安全扫描&#xff0c;通过安全扫描&#xff0c;对该市政务网站的整体安全情况进行预估。 1.2工具扫描结果 本次利用漏洞扫描服务VSS共扫…

基于Springboot的集团门户网站(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的集团门户网站&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+纯verilog图像缩放+多路视频拼接,提供8套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案的SDI接收发送本方案的SDI接收图像缩放应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI接收OSD动态字符叠加输出应用本方案的SDI接收HLS多路视频融合叠加应用本方案的SDI接收GTX 8b/10b编解…

KeePass 密码库坚果云授权同步(免费)

前言介绍 KeePass是一款开源的密码管理工具&#xff0c;可以帮助你安全地存储和管理各种密码和敏感信息。 下载安装 下载KeePass&#xff1a;官网&#xff0c;下载KeePass的安装文件。根据你的操作系统选择适用的版本&#xff0c;比如Windows、macOS或Linux。 安装KeePass&a…

神经网络处理器优化设计(一)

神经网络处理器优化设计&#xff0c;涉及到一些特殊和通用处理流程&#xff0c;一是降低硬件成本&#xff0c;二是提高性能。 一 跨层流水线调度 这里主要针对深度可分离卷积&#xff0c;将Pointwise conv与Depthwise卷积并行处理&#xff0c;好处是&#xff0c;减小整体流水时…