当前位置: 首页 > news >正文

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

安装

注意 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) => {// 全局注册图标 ElIconXxxxfor (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>

相关文章:

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

安装 注意 ElementPlus 的 Icon 图标 要额外安装插件 element-plus/icons-vue. npm install element-plus/icons-vue注册 全局注册 定义一个文件 element-icon.js &#xff0c;注意代码第 6 行。加上了前缀 ElIcon &#xff0c;避免组件命名重复&#xff0c;且易于理解为 e…...

力扣题库第8题:去重后的最长子串

题目&#xff1a; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。 示例 2: 输入: s "bbbbb" …...

CSS样式中长度单位含义解析:rpx、px、vw、vh、em、rem、pt

在 CSS 样式中&#xff0c;有几种常见的长度单位&#xff0c;包括 rpx 、 px 、 vw 和 vh 等&#xff0c;含义解析如下&#xff1a; 1 . rpx &#xff08;响应像素&#xff09;&#xff1a; 是微信小程序中的一种相对长度单位&#xff0c;可以根据屏幕宽度进行自适应缩放。 1rp…...

全国车辆识别代码信息API查询接口-VIN深度解析

我们先来介绍下什么是vin码&#xff0c;以及vin码的构成结构解析&#xff0c;汽车VIN码&#xff0c;也叫车辆识别号码&#xff0c;通俗可以理解为汽车的身份证号码。 VIN码一共分四大部分&#xff1a; 1~3位&#xff0c;是世界制造厂识别代号&#xff08;WMI&#xff09;&…...

python django 模型中字段设置blank, null属性值用法说明

问题1: ShareUser models.CharField(max_length128, blankTrue) blank设置True和false分别代表什么含义, 有什么区别?chatgpt回答的答案如下: 在 Django 模型字段中&#xff0c;blank 参数用于指定在创建对象时该字段是否可以为空值。它的含义如下&#xff1a; blankTrue:…...

暴雨信息:可持续转型更需要“以人为本”

数字化正在开启新的商业模式和价值流&#xff0c;为企业与组织带来巨大收益。其中&#xff0c;“人 (People)”这一因素至关重要。 提供更好的工作与生活体验&#xff0c;应对人口老龄化、劳动力短缺等挑战。对于企业而言&#xff0c;解决这些问题既是社会责任&#xff0c;也是…...

1.2_3 TCP/IP参考模型

文章目录 1.2_3 TCP/IP参考模型&#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型&#xff08;二&#xff09;5层参考模型&#xff08;三&#xff09;5层参考模型的数据封装与解封装 1.2_3 TCP/IP参考模型 &#xff08;一&#xff09;OSI参考模型与TCP/IP参考模型 TCP/I…...

真空泵系统数据采集远程监控解决方案

行业背景 半导体制造业可以说是现代电子工业的核心产业&#xff0c;广泛应用于计算机、通信、汽车、医疗等领域。而在半导体生产加工过程中&#xff0c;如刻蚀、 镀膜、 扩散、沉积、退火等环节&#xff0c;真空泵都是必不可少的关键设备&#xff0c;它可以构建稳定受控的真空…...

Python语言在编程业界的地位——《跟老吕学Python编程》附录资料

Python语言在编程业界的地位——《跟老吕学Python编程》附录资料 ⭐️Python语言在编程业界的地位2024年3月编程语言排行榜&#xff08;TIOBE前十&#xff09; ⭐️Python开发语言开发环境介绍1.**IDLE**2.⭐️PyCharm3.**Anaconda**4.**Jupyter Notebook**5.**Sublime Text** …...

基于Redis自增实现全局ID生成器(详解)

本博客为个人学习笔记&#xff0c;学习网站与详细见&#xff1a;黑马程序员Redis入门到实战 P48 - P49 目录 全局ID生成器介绍 基于Redis自增实现全局ID 实现代码 全局ID生成器介绍 背景介绍 当用户在抢购商品时&#xff0c;就会生成订单并保存到数据库的某一张表中&#…...

hadoop 总结

1.hadoop 配置文件 core-site hdfs-site yarn-site.xml worker hdfs-site.xml <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text/xsl" href"configuration.xsl"?> <configuration><pr…...

luatos框架中LVGL如何使用中文字体〈二〉编写脚本设置中文字体

本节内容&#xff0c;将和大家一同学习&#xff0c;在luatos环境中&#xff0c;使用lvgl库&#xff0c;一步步的编译固件、编写脚本&#xff0c;最终实现中文字体的显示。 芯片&#xff1a;AIR101 LCD屏&#xff1a;ST7789 上一节&#xff0c;我们一同学习了&#xff0c;硬件引…...

c++单例模式和call_once函数

单例模式是一种常见的设计模式&#xff0c;用于确保某个类只能创建一个实例。由于单例模式是全局唯一的&#xff0c;因此在多线程中使用单例模式时需要考虑线程安全问题。 1.GetInstance()实例化一个对象 懒汉式&#xff1a;第一次用到类的时候才会去实例化。 懒汉式创建对象…...

AutoMQ 携手阿里云共同发布新一代云原生 Kafka,帮助得物有效压缩 85% Kafka 云支出!

3 月 9 日&#xff0c;“AutoMQ x 阿里云云原生创新论坛”在阿里巴巴西溪园区圆满落幕。本次论坛现场不仅重磅发布了新一代云原生 Kafka 产品&#xff08;AutoMQ On-Prem 版&#xff09;&#xff0c;还邀请了来自得物的稳定生产负责人分享 AutoMQ 在生产场景中的应用实践&…...

力扣977. 有序数组的平方

思路&#xff1a;暴力法&#xff1a;全部平方&#xff0c;然后调用排序API&#xff0c;排序算法最快是N*log(N)时间复制度。 双指针法&#xff1a;要利用好原本的数组本就是有序的数组这个条件&#xff0c; 只是有负数 导致平方后变大了&#xff0c;那么平方后的最大值就是在两…...

VSCode设置

VSCode设置 VSCode设置1.双击和点击显示设置2.快捷键设置 VSCode设置 1.双击和点击显示设置 VSCode设置双击才能打开文件、文件夹 打开文件夹&#xff1a;在设置页中搜索 expandMode,将 singleClick 改为 doubleClick 即可。 双击打开文件&#xff1a;在设置页中搜索workben…...

2.2 评估方法 机器学习

我们若有一个包含m个样例的数据集&#xff0c;若我们既需要训练&#xff0c;也需要测试&#xff0c;我们该如何处理呢&#xff1f;下面是几种方法&#xff1a; 2.2.1 留出法 “留出法”直接将数据集D划分为两个互斥的集合&#xff0c;其中一个作为训练集S&#xff0c;另一个作…...

第一类换元法(凑微分,凑狗)【高数笔记】

1.第一类换元法&#xff0c;解决的是什么类型的问题 2.不同的问题&#xff0c;应该有什么解法 3.13个基本积分公式&#xff0c;应该注意什么...

PostgreSQL数据库优化指南

默认安装下的 PostgreSQL 配置无法完全利用现有硬件&#xff0c;影响Netbox的性能。 本文章讲解了如何简单去优化。 优化 项目地址&#xff1a;https://github.com/le0pard/pgtune 首先打开&#xff1a;https://pgtune.leopard.in.ua/ (此网站会根据你的选择自动生成优化配置…...

VScode Error Lens插件

安装完成之后&#xff0c;当我们输入一些错误的语法格式的时候&#xff0c;它都会有一些提示&#xff01; 一开始是英文提示 修改为中文提示 设置搜索 typescript.local...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...