Element-UI快速入门
作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。
推荐订阅精彩专栏 👇🏻 避免错过下次更新
Springboot项目精选实战案例
更多项目:CSDN主页YAML墨韵
学如逆水行舟,不进则退。学习如赶路,不能慢一步。
目录
1. 安装 Element-UI
3. 使用组件
3.1. Element-UI 的按钮组件
3.2. Element-UI 的表格组件
表格特性
3.3. Element-UI 的分页组件
3.4. Element-UI 的表单组件
3.5. Element-UI 的组件头像上传
4. 查看官方文档
5. 深入学习
Element-UI 是一个基于 Vue.js 的高质量 UI 组件库,它提供了一系列丰富的组件,帮助开发者快速构建出美观、易用且功能丰富的页面。以下是 Element-UI 的快速入门指南:
1. 安装 Element-UI
首先,你需要在你的 Vue.js 项目中引入 Element-UI。这通常通过 npm 或 yarn 进行安装:
npm i element-ui -S
# 或者
yarn add element-ui
2. 引入 Element-UI
然后,在你的 main.js 文件中引入 Element-UI 和它的样式文件:
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI);
3. 使用组件
进入官网Element官网选择组件复制样式表链接标签
3.1. Element-UI 的按钮组件
<template> <div> <el-button type="primary">主要按钮</el-button> <el-button type="success">成功按钮</el-button> <el-button type="warning">警告按钮</el-button> <el-button type="danger">危险按钮</el-button> </div>
</template>
3.2. Element-UI 的表格组件
<template> <div> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> </div>
</template> <script>
export default { data() { return { tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小鹿', address: '上海市普陀区金沙江路 1517 弄' }, // ...更多数据 ] } }
}
</script>
表格特性
- 数据绑定:使用
:data
属性绑定你的表格数据。 - 列定义:使用
<el-table-column>
标签定义表格的列,并使用prop
属性指定数据中的字段名,label
属性指定列的标题。 - 列宽:你可以使用
width
属性来设置列的宽度。 - 其他特性:Element-UI 的表格组件还支持很多其他特性,如排序、筛选、自定义渲染等。你可以查看 Element-UI 的官方文档来了解更多。
3.3. Element-UI 的分页组件
在 Vue 中使用 Element-UI 的分页组件时,如果你想要给分页组件添加一个背景色,你可以通过自定义 CSS 来实现。Element-UI 的分页组件默认并没有提供直接设置背景色的属性,但你可以通过覆盖其默认样式来达到你的需求。
-
确定分页组件的类名:
首先,你需要知道 Element-UI 分页组件的类名。你可以通过浏览器的开发者工具来查看这个类名。对于 Element-UI 的分页组件,它通常会有一个类似.el-pager
的类名。 -
编写自定义 CSS:
在你的 Vue 组件的<style>
标签中,或者在一个单独的 CSS 文件中,编写自定义的 CSS 来覆盖默认样式。你可以使用background-color
属性来设置背景色。 -
确保 CSS 的优先级:
如果你发现自定义的 CSS 没有生效,可能是因为它的优先级不够高。你可以通过增加选择器的特异性,或者使用!important
关键字来确保你的样式生效。但是要注意,过度使用!important
可能会导致样式管理变得困难,所以最好先尝试通过调整选择器的特异性来解决问题。
<template> <div> <!-- 其他内容 --> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> </div>
</template> <script>
// ... 你的 Vue 组件逻辑
</script> <style scoped>
/* 使用 scoped 属性确保这些样式只应用于当前组件 */
.el-pagination { background-color: #f0f0f0; /* 设置背景色 */ /* 其他样式 */
} /* 如果需要更具体的选择器,可以使用子类的类名,比如 .el-pager__item */
</style>
3.4. Element-UI 的表单组件
在 Vue 中使用 Element-UI 的表单组件可以方便地创建和管理表单。Element-UI 提供了一系列的表单项组件,如输入框(Input)、选择框(Select)、开关(Switch)等,这些组件可以组合在一起形成一个完整的表单。
以下是一个使用 Element-UI 表单组件的基本示例:
<template> <el-form :model="form" :rules="rules" ref="form" label-width="120px"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="form.password"></el-input> </el-form-item> <el-form-item label="邮箱" prop="email"> <el-input v-model="form.email"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm('form')">提交</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form-item> </el-form>
</template> <script>
export default { data() { var validateEmail = (rule, value, callback) => { const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if (value === '') { callback(new Error('请输入邮箱地址')); } else if (!re.test(String(value).toLowerCase())) { callback(new Error('请输入正确的邮箱地址')); } else { callback(); } }; return { form: { username: '', password: '', email: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' } ], email: [ { required: true, validator: validateEmail, trigger: 'blur' } ] } }; }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { alert('submit!'); } else { console.log('error submit!!'); return false; } }); }, resetForm(formName) { this.$refs[formName].resetFields(); } }
};
</script>
在上面的示例中,我们创建了一个包含用户名、密码和邮箱地址的表单。
:model="form"
绑定了一个名为form
的对象,这个对象包含了表单中所有字段的初始值。:rules="rules"
绑定了一个名为rules
的对象,这个对象定义了表单验证的规则。ref="form"
为表单设置了一个引用名,以便在 Vue 实例的方法中通过this.$refs.form
访问它。<el-form-item>
是表单项的容器,用于包裹具体的表单项组件,如<el-input>
。prop
属性用于指定表单项对应的字段名,以便进行表单验证。v-model
指令用于实现表单项和 Vue 实例中数据的双向绑定。submitForm
方法用于处理表单提交事件,它首先调用this.$refs[formName].validate()
方法进行表单验证,然后根据验证结果执行相应的操作。resetForm
方法用于重置表单字段的值,它调用了this.$refs[formName].resetFields()
方法。
3.5. Element-UI 的组件头像上传
<template> <div> <el-upload class="avatar-uploader" action="/your-upload-url" :show-file-list="false" :on-success="handleSuccess" :on-error="handleError" :before-upload="beforeUpload" > <img v-if="imageUrl" :src="imageUrl" class="avatar"> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </div>
</template> <script>
export default { data() { return { imageUrl: '', // 头像图片的 URL }; }, methods: { handleSuccess(response, file, fileList) { // 上传成功后的处理逻辑 // 假设服务器返回了一个包含图片 URL 的对象 this.imageUrl = response.data.url; }, handleError(err, file, fileList) { // 上传失败后的处理逻辑 console.log(err); }, beforeUpload(file) { // 在上传文件之前的钩子,参数为上传的文件,若返回 false 则停止上传 const isJPG = file.type === 'image/jpeg'; const isLt2M = file.size / 1024 / 1024 < 2; if (!isJPG) { this.$message.error('上传头像图片只能是 JPG 格式!'); } if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 2MB!'); } return isJPG && isLt2M; }, },
};
</script> <style scoped>
.avatar-uploader .el-upload { border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden;
}
.avatar-uploader .el-upload:hover { border-color: #409EFF;
}
.avatar-uploader img { width: 100%; height: 100%; border-radius: 6px;
}
.avatar-uploader-icon { font-size: 28px; color: #8c939d; width: 100px; height: 100px; line-height: 100px; text-align: center; border-radius: 6px; background-color: #f5f7fa;
}
</style>
4. 查看官方文档
Element-UI 的官方文档提供了详细的使用说明和演示示例。你可以通过访问 Element-UI 的官网,在顶部导航栏中点击“文档”按钮,进入官方文档页面。在文档页面中,你可以通过左侧的导航栏浏览各种组件的文档说明和示例代码,也可以使用右上角的搜索框快速查找相关文档。
5. 深入学习
如果你需要更深入地了解 Element-UI 的使用和定制方法,可以参考官方提供的进阶教程和 API 文档。这些文档提供了更详细和专业的技术说明和参考。此外,你也可以在网络上搜索 Element-UI 的教程、博客或视频教程来学习更多的内容。
相关文章:

Element-UI快速入门
作者介绍:✌️大厂全栈码农|毕设实战开发,专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 👇🏻 避免错过下次更新 Springboot项目精选实战案例 更多项目:CSDN主页YAML墨韵 学如逆水行舟,…...

【JavaWeb】网上蛋糕商城后台-商品管理
概念 本文讲解和实现网上蛋糕商城的后台管理系统中的商品管理功能。 商品列表 点击后台管理系统的head.jsp头部的“商品管理”功能选项,向服务器发送请求/admin/goods_list 因此需要在servlet包中创建AdminGoodsListServlet类,用于获取商品信息列表 …...

Django Admin后台管理:高效开发与实践
title: Django Admin后台管理:高效开发与实践 date: 2024/5/8 14:24:15 updated: 2024/5/8 14:24:15 categories: 后端开发 tags: DjangoAdmin模型管理用户认证数据优化自定义扩展实战案例性能安全 第1章:Django Admin基础 1.1 Django Admin简介 Dj…...

Centos7网卡启动失败(Failed to start LSB: Bring up/down)
好雨知时节 当春乃发生 随风潜入夜 润物细无声 报错内容 启动虚拟机时,Ceotos的虚拟网卡没有一起启动,导致服务无法正常使用 查询网络启动状态 systemctl status network.service报Failed to start LSB: Bring up/down 查看网络启动日志 journalctl…...

【NOIP2008普及组复赛】 题4:立体图
题4:立体图 【题目描述】 小渊是个聪明的孩子,他经常会给周围的小朋友讲些自己认为有趣的内容。最近,他准备给小朋友讲解立体图,请你帮他画出立体图。 小渊有一块面积为mn的矩形区域,上面有mn个边长为1的格子&#…...

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(76)
1. 题目解析 题目链接:LCR 091. 粉刷房子 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 1. 状态定义 在解决这类问题时,我们首先需要根据题目的具体要求来定义状态。针对房屋粉刷问题&#…...

Windows---CMD常用指令大全
CMD是什么? Windows操作系统中的命令行界面程序,全称为命令提示符 CMD可以干什么? 允许用户在文本界面下输入命令来执行各种操作,如文件管理、系统设置、软件安装等 帮助用户更好地控制和管理Windows系统 windows系统CMD指…...

消息中间件是什么?有什么用?常见的消息中间件有哪些?
1.什么是消息中间件? 消息中间件基于队列模型在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。 2.现实中的痛点: 1.Http请求基于请求与响应的模型,在高并发的情况下,客户端发送大量的请求达到服务器端…...

富锂锰基材料极具发展潜力 我国产业化进程加速
富锂锰基材料极具发展潜力 我国产业化进程加速 富锂锰基材料以锰元素为主,我国锰资源较丰富,相比于铁锂材料、高镍三元材料,富锂锰基材料具有一定的降本潜力。此外富锂锰基材料在能量密度、充放电倍率等方面也具有明显优势。富锂锰基材料是富…...

聚水潭和金蝶云星空单据接口对接
聚水潭和金蝶云星空单据接口对接 对接系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在帮助企业打造…...

OpenAI深夜震撼发布最新模型GPT-4o,送上最快速便捷教程
北京时间5月14日凌晨,有人说OpenAI一夜改变了历史。 在我们的深夜、太平洋时间的上午 10 点,OpenAI 召开春季发布会,公布了最新的GPT-4o模型,o代表Omnimodel(全能模型)。20多分钟的演示直播,展…...

没有申请域名的情况下,用navicat远程连接我们的服务器的Mysql数据库
我们可以根据公网ip用shell来远程连接 首先我们打开自己买的服务器 例如你看这个,就是我们的公网IP 如果服务器里面没有安装mysql数据库的话,那么我们可以用一个轻量级的docker来安装数据库代替一下 我们用docker弄个轻量级的mysql5.7.36,…...
Hive中小文件过多的几种处理方式
1、使用concatenate(只支持RCFile和ORC格式) 2、减少map数量,调整参数:输入合并文件相关的参数 3、减少reduce的数量(例如直接设置reduce为xx个、或者设置reduce的大小,系统自动根据大小确定reduce的个数…...

用户登录认证和权限授权(SpringSecurity、JWT、session)
文章目录 前言一、登录认证1. 问题引入2. Session2.1 实现原理2.2 过滤器Filter2.3 上下文对象 3. JWT3.2 实现步骤3.3 拦截器 HandlerInterceptorAdapter3.4 上下文对象 4. Session VS JWT 二、权限授权1. 权限类型1.1 页面权限(菜单项权限)1.2 ACL模型…...

第十二届蓝桥杯省赛真题 Java A 组【原卷】
文章目录 发现宝藏【考生须知】试题 A: 相乘试题 B: 直线试题 C : \mathrm{C}: C: 货物摆放试题 D: 路径试题 E: 回路计数试题 F : \mathrm{F}: F: 最少砝码试题 G: 左孩子右兄弟试题 H : \mathrm{H}: H: 异或数列试题 I \mathbf{I} I 双向排序试题 J : \mathrm{J}: J: 分…...
工作随机:linux 挂载LVM管理模式的磁盘
文章目录 前言一、创建一个分区二、创建PV三、创建VG四、创建LV五、格式化并挂载目录 前言 在数据库管理中,常有比较头疼的问题,就是一段时间发展后我的磁盘空间不够了,想要扩容原有的目录很是头疼,那么LVM管理的优势就体现出来了…...
打印kafka最近的消息
使用 kafka-run-class 指令,获取topic的最小offset和最大offset #查看各个分区的最小offset(这个意思就是,这个offset之前的消息已经被清除了,现在consumer是从这个offset之后开始消费): ./kafka-run-class.sh kafka.tools.GetOffsetShell …...

e行64位V11.17.4 安卓全局虚拟定位APP
e行最新版11.17.4 支持全局虚拟位置 小米手机 百度地图 高德地图 实测成功 其他app自测 不一定支持所有app 下载:https://www.123pan.com/s/HAf9-tsyCh.html...
vue项目通过点击文字上传html文件,查看html文件
上传html文件 解决思路:新建一个上传组件,将它挪到页面之外。当点击文字时,手动触发上传组件,打开上传文件框。 <template><BasicTable register"registerTable"><template #bodyCell"{ column, …...

【WEEK12】 【DAY1】整合JDBC【中文版】
2024.5.13 Monday 目录 11.整合JDBC11.1.SpringData简介11.2.新建springboot-04-data项目11.3.新建application.yaml11.4.连接数据库11.5.修改Springboot04DataApplicationTests.java11.5.1.查看DataSourceProperties.java和DataSourceAutoConfiguration.java 11.6.JDBCTempla…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...