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

Vue教学18:Element UI进阶组件探索,提升Vue应用的专业性

大家好,欢迎回到我们的Vue教学系列博客!在前十七篇博客中,我们学习了Vue.js的基础知识、安装Node.js与npm、使用Vue Devtools进行调试、Vue实例与生命周期钩子、数据绑定(单向与双向)、计算属性与侦听器、条件渲染和列表渲染、事件处理、组件之间的传值(props和$emit)、动态组件和异步组件、组件间的通信(provide/inject,event bus),探索并尝试安装一个基于Vue.js的UI框架——Element UI,以及学习如何使用Element UI的基础组件,如按钮、输入框、表格和弹窗。今天,我们将深入探讨并学习如何使用Element UI的进阶组件,以提升Vue应用的专业性。无论你是Vue新手小白,还是有一定基础的开发者,掌握Element UI的进阶组件都将大大提高你的开发效率。

一、ElCard:卡片组件

ElCard组件用于创建卡片布局,常用于展示详细信息或分组内容。

<template><div><el-card><div slot="header" class="clearfix"><span>卡片标题</span></div><div>卡片内容</div></el-card></div>
</template>

在这个例子中,我们创建了一个简单的卡片,包含一个标题和内容区域。

二、ElCollapse:折叠面板组件

ElCollapse组件用于创建可折叠的面板,常用于组织大量内容。

<template><div><el-collapse v-model="activeNames"><el-collapse-item title="面板一" name="1">内容一</el-collapse-item><el-collapse-item title="面板二" name="2">内容二</el-collapse-item></el-collapse></div>
</template><script>
export default {data() {return {activeNames: ['1']};}
};
</script>

在这个例子中,我们创建了一个折叠面板,包含两个可折叠的面板。通过设置v-model绑定到activeNames数组,我们可以控制面板的展开和收起。

三、ElSteps:步骤条组件

ElSteps组件用于创建步骤条,常用于任务流程或指南。

<template><div><el-steps :active="activeStep" finish-status="success"><el-step title="步骤1"></el-step><el-step title="步骤2"></el-step><el-step title="步骤3"></el-step></el-steps></div>
</template><script>
export default {data() {return {activeStep: 1};}
};
</script>

在这个例子中,我们创建了一个简单的步骤条,包含三个步骤。通过设置:active="activeStep",我们可以控制当前激活的步骤。

四、ElTimeline:时间线组件

ElTimeline组件用于创建时间线,常用于展示项目的时间节点或历史记录。

<template><div><el-timeline><el-timeline-item timestamp="2018-04-18" placement="top"><el-card><h4>标题</h4><p>描述信息</p></el-card></el-timeline-item><!-- ... 省略其他时间线项 --></el-timeline></div>
</template>

在这个例子中,我们创建了一个简单的时间线,包含一个时间节点和一个卡片。

五、ElCarousel:走马灯组件

ElCarousel组件用于创建走马灯轮播图,常用于展示图片或广告。

<template><div><el-carousel interval="5000" arrow="always"><el-carousel-item><h3>第一张</h3><p>描述信息</p></el-carousel-item><el-carousel-item><h3>第二张</h3><p>描述信息</p></el-carousel-item><!-- ... 省略其他轮播图项 --></el-carousel></div>
</template>

在这个例子中,我们创建了一个简单的走马灯轮播图,包含多个轮播图项。通过设置interval属性,我们可以控制轮播图的切换间隔时间。

六、ElRate:评分组件

ElRate组件用于创建评分组件,常用于商品评价或用户反馈。

<template><div><el-rate v-model="value" allow-half><el-rate-item></el-rate-item><el-rate-item></el-rate-item><el-rate-item></el-rate-item><el-rate-item></el-rate-item></el-rate></div>
</template><script>
export default {data() {return {value: 3};}
};
</script>

在这个例子中,我们创建了一个简单的评分组件,通过设置v-model绑定到value数据属性,我们可以控制评分组件的值。

七、ElCascader:级联选择器组件

ElCascader组件用于创建级联选择器,常用于地区选择或分类选择。

<template><div><el-cascader v-model="value" :options="options"></el-cascader></div>
</template><script>
export default {data() {return {value: [],options: [{value: 'zhejiang',label: '浙江',children: [{value: 'hangzhou',label: '杭州'},{value: 'nanjing',label: '南京'}]},{value: 'jiangsu',label: '江苏',children: [{value: 'shanghai',label: '上海'}]}]};}
};
</script>

在这个例子中,我们创建了一个简单的级联选择器,通过设置v-model绑定到value数据属性,我们可以控制级联选择器的值。

八、ElTree:树形选择器组件

ElTree组件用于创建树形选择器,常用于数据结构展示或分类选择。

<template><div><el-tree:data="treeData"ref="tree"node-key="id"default-expand-all:expand-on-click-node="false"><span class="custom-tree-node" slot-scope="{ node, data }"><span>{{ node.label }}</span></span></el-tree></div>
</template><script>
export default {data() {return {treeData: [{id: 1,label: '一级 1',children: [{id: 4,label: '二级 1-1'}]},{id: 2,label: '一级 2',children: [{id: 5,label: '二级 2-1'},{id: 6,label: '二级 2-2'}]},{id: 3,label: '一级 3',children: [{id: 7,label: '二级3-1’},{ id: 8, label: ‘二级 3-2’} ] } ] }; } 
};
</script>

在这个例子中,我们创建了一个简单的树形选择器,通过设置`:data="treeData"`属性,我们可以绑定树形选择器的数据源。

九、ElColorPicker:颜色选择器组件

ElColorPicker组件用于创建颜色选择器,常用于颜色选择或调整。

<template><div><el-color-picker v-model="colorValue"></el-color-picker></div>
</template>
<script>
export default {data() {return {colorValue: '#409EFF'};}
};
</script>

在这个例子中,我们创建了一个简单的颜色选择器,通过设置v-model绑定到colorValue数据属性,我们可以控制颜色选择器的值。

十、ElUpload:文件上传组件

ElUpload组件用于创建文件上传功能,常用于文件上传或图片预览。

<template><div><el-upload:file-list="fileList":auto-upload="false":on-preview="handlePreview":on-remove="handleRemove":on-change="handleChange":on-success="handleSuccess":on-error="handleError"><el-button slot="trigger" size="small" type="primary">选取文件</el-button><el-buttonstyle="margin-left: 10px;"size="small"type="success"@click="submitUpload">上传到服务器</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload></div>
</template><script>
export default {data() {return {fileList: [],file: null};},methods: {handlePreview(file) {console.log(file);},handleRemove(file, fileList) {console.log(file, fileList);},handleChange(file, fileList) {console.log(file, fileList);},handleSuccess(response, file, fileList) {console.log(response, file, fileList);},handleError(error, file, fileList) {console.log(error, file, fileList);},submitUpload() {this.$refs.upload.submit();}}
};
</script>

在这个例子中,我们创建了一个简单的文件上传组件,通过设置:file-list="fileList"属性,我们可以绑定文件列表。我们还定义了多个事件处理方法,用于处理文件预览、移除、改变、成功和错误等事件。

十一、总结

通过本博客的学习,我们深入了解了Element UI的进阶组件,包括卡片组件、折叠面板组件、步骤条组件、时间线组件、走马灯组件、评分组件、级联选择器组件、树形选择器组件、颜色选择器组件和文件上传组件。这些组件提供了丰富的功能和样式,可以帮助我们创建出更专业和高效的Vue应用。掌握Element UI的进阶组件对于提高Vue应用的专业性和用户体验至关重要。希望这篇博客能帮助你深入理解Element UI的进阶组件,并在实际项目中灵活运用。

如有任何疑问,欢迎在评论区留言讨论。让我们一起学习,共同进步!

往期教学请前往作者VUE专栏下查看

 

相关文章:

Vue教学18:Element UI进阶组件探索,提升Vue应用的专业性

大家好&#xff0c;欢迎回到我们的Vue教学系列博客&#xff01;在前十七篇博客中&#xff0c;我们学习了Vue.js的基础知识、安装Node.js与npm、使用Vue Devtools进行调试、Vue实例与生命周期钩子、数据绑定&#xff08;单向与双向&#xff09;、计算属性与侦听器、条件渲染和列…...

UE5.1_TimeLine

UE5.1_TimeLine 问题引入&#xff1a;UE的Timeline可以在一个场景下无限制的使用多少次&#xff1f;一个动画流程的Timeline的时间持续怎么算?TimeLine中嵌套Timeline的做法是否是合理的&#xff1f;...

Qt自定义控件

自定义控件 目的&#xff1a;将多个控件或者窗口作为一个整体被多次复用。 操作方式 1.首先进行自定义的ui设计&#xff0c;以及对应的.h和.cpp文件 2.到要使用的UI界面上&#xff0c;从控件库中拖拽一个Widget控件 3.右键点击"提升为" 4.填写自定义实现的类名&…...

nRF52832——串口 UART 和 UARTE 外设应用

nRF52832——串口 UART 和 UARTE 外设应用 UART 和 UARTE 原理UART 功能描述UARTE 功能介绍 应用实例串口打印实例串口输入与回环UART 模式串口中断 UART 和 UARTE 原理 UART 功能描述 串口 UART 也称为通用异步收发器。是各种处理器中常用的通信接口&#xff0c;在 nRF52 芯…...

String 底层为什么使用 final 修饰?

1、典型回答 对于这个问题&#xff0c;Java之父詹姆斯 高斯林&#xff08;James Gosling&#xff09; 是这样回答的&#xff1a; I would use an immutable whenever I can 翻译为中文&#xff1a;只要允许&#xff0c;我就会使用不可变对象 而作为普通人的我们来说&#xff0…...

NIN网络中的网络

是什么 intro LeNet→AlexNet→VGG→NiN→GoogLeNet→ResNetLeNet→AlexNet→VGG 卷积层模块充分抽取空间特征全连接层输出分类结果AlexNet & VGG 改进在于把两个模块加宽 、加深&#xff08;加宽指增加通道数&#xff0c;那加深呢&#xff1f;&#xff08;层数增加叭 Ni…...

Cloudflare Tunnel:无惧DDOS_随时随地安全访问局域网Web应用

利用此方法&#xff0c;您可以在局域网&#xff08;尤其是NAS&#xff09;上搭建的Web应用支持公网访问&#xff0c;成本低而且操作简单&#xff01; 如果这是博客的话&#xff0c;它还可以有效防止DDOS攻击&#xff01; 准备工作&#xff1a; 需要一个域名&#xff08;推荐N…...

高质量快刊!中科院1区TOP,Elsevier出版社,最快2个月23天录用!20天见刊!

【SciencePub学术】 01 期刊基本信息 【期刊简介】IF&#xff1a;11.0-11.5&#xff0c;JCR1区&#xff0c;中科院1区TOP 【出版社】Elsevier出版社 【版面情况】正刊&#xff0c;2023.3.31截稿 【检索情况】SCIE&EI双检&#xff0c;预计3个月左右录用 【征稿领域】…...

C++感受2-逐字逐句,深入理解C++最小例程

以 “Hello World” 例程为载体、线索&#xff0c;在完成 “间接名字空间限定” 写法转换到“直接名字空间限定”的过程&#xff0c;同时掌握函数、主函数、函数调用、级联操作、声明、类型、int、字符串类型、头文件包含、行为数据、流输出操作符、标准输出流对象、标准库名字…...

RabbitMQ 面试题及答案整理,最新面试题

RabbitMQ的核心组件有哪些&#xff1f; RabbitMQ的核心组件包括&#xff1a; 1、生产者&#xff08;Producer&#xff09;&#xff1a; 生产者是发送消息到RabbitMQ的应用程序。 2、消费者&#xff08;Consumer&#xff09;&#xff1a; 消费者是接收RabbitMQ消息的应用程序…...

字节算法-链表翻转与变形

文章目录 题目与变形解法 题目与变形 字节一面中关于 K个一组链表反转 的题目变形。 K个一组链表反转。K个一组链表反转&#xff0c;链表尾不足K个的元素也需要反转。K个一组链表反转&#xff0c;但是从链表尾部开始反转。反转从位置 left 到位置 right 的链表节点 解法 四…...

十一、软考-系统架构设计师笔记-未来信息综合技术

1、信息物理系统技术概述 信息物理系统的概念 信息物理系统(Cyber-Physical Systems&#xff0c;CPS)通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术&#xff0c;构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系…...

非同源点云尺度对齐及点云配准(cloudcompare软件)

1.点云裁减与尺度缩放 发现口扫stl转为的点云尺度是原始点云的1000倍 打开meshlab&#xff0c;通过“Filters” > “Mesh Layer” > “Transform: Scale”缩放1000倍&#xff0c;得到以米为单位的真实尺寸 此时在meshlab中进行点云手动裁减后效果 将ply文件转为xyz文件…...

体检业务数字化管理平台,健康体检管理系统(PEIS)源码

健康体检管理系统&#xff08;PEIS&#xff09;源码&#xff0c;自动生成体检报告&#xff0c;提供查询、统计和分析功能 健康体检管理系统&#xff08;PEIS&#xff09;可以建立完整的健康档案&#xff0c;系统实现了与HIS系统的无缝连接&#xff0c;着重于临床信息系统的应用…...

【SpringCloud微服务实战04】Nacos 配置中心

一、Nacos配置添加 二、Nacos配置读取 1、引入Nacos的配置管理客户端依赖&#xff1a; <!--nacos配置管理依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</arti…...

无雀新功能宣传板之视频直播+Teambition

1. 今日新功能 钉钉视频会议新功能 视频会议功能&#xff0c;打造了一系列独具特色的通话海报模板供用户选择。其中引人瞩目的是为龙年限定的新春主题通话海报&#xff0c;它巧妙地融入了中国传统文化元素&#xff0c;将庄重且喜庆的龙年新春气息浓缩在画面之中。 自定义通话…...

学生选课系统的最简逻辑--一个学生选一门课

需求&#xff1a;设计一个学生选课系统&#xff0c;要求如下&#xff1a;有一个学生类&#xff0c;有一个课程类&#xff0c;还有一个Teacher类。。学生类包括姓名、学号、已选课程。课程类包括课程名称、授课老师属性。 老师包括老师的名字、老师的电话&#xff0c;老师的课程…...

波司登高德康:以有“韧性”的创新应变市场新浪潮

伴随着消费升级&#xff0c;羽绒服市场需求日益旺盛。愈发多元化的需求对于企业发展也有着更高的要求。如何更好推动行业多元化发展&#xff0c;可以从波司登的品牌升级、产品创新、模式创新、数字技术创新、绿色发展创新等方面窥得一二。 高德康总裁接受新华网主持人采访 对此…...

装饰你的APP:使用Lottie-Android创建动画效果

1. Lottie-Android简介 Lottie-Android是一个强大的开源库,由Airbnb开发,旨在帮助开发者轻松地在Android应用中添加高质量的动画效果。它基于Adobe After Effects软件中的Bodymovin插件,通过解析导出的JSON文件来渲染并播放复杂的矢量动画。 Lottie-Android提供了许多令人…...

成都爱尔林江院长解析巩膜镜是什么?它适合哪些人群

巩膜镜&#xff0c;全称为硬性透氧性巩膜接触镜&#xff0c;它有着特殊设计&#xff0c;大直径镜片像桥梁一样呈拱形覆盖角膜及角巩膜缘&#xff0c;从角膜上方横跨而过完全无接触、无任何机械性摩擦&#xff0c;最终贴合于巩膜。 巩膜镜的作用原理 光学成像&#xff1a; 配戴…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...