VUE基础知识九 ElementUI项目

news2025/7/10 6:35:36

ElementUI官网

一 项目

最终完成的效果:
在这里插入图片描述
切换上边的不同按钮,下方显示不同的表格数据

在src/components下新建不同业务组件的文件夹
在这里插入图片描述

1.1 搭建项目

使用脚手架搭建项目后,引入ElementUI(搭建、引入ElementUI步骤在第七节里已经详细介绍了)
在这里插入图片描述
改造项目入口App.vue
在这里插入图片描述
首页App.vue里的<router-view>默认对应的就是左侧router/index.js文件

新建首页src/components/index.vue文组件
在这里插入图片描述
把首页组件注册到路由里
在这里插入图片描述
访问:
在这里插入图片描述

1.2 在访问项目地址时,直接路由到首页(不需要加index后缀)

首页地址:src/components/index.vue,在路由的js文件里里,新建一个根路由/,重定向到index,index又会自动路由到index.vue页面
在这里插入图片描述

1.3 设计主页面src/components/index.vue组件

先直接复制ElemrntUI官网Container组件,分为上下两大块,然后进行改造
在这里插入图片描述
最上边的头部使用NavMenu 导航菜单
在这里插入图片描述
把导航菜单代码复制到头部里
在这里插入图片描述
在这里插入图片描述

删除没必要的内容后:
在这里插入图片描述
在这里插入图片描述

由于main区域是动态改变的,所以这里肯定是一个路由组件,这里的组件来自于左侧各个业务提供的组件页面
在这里插入图片描述
新建各个组件,并注册到路由里
在这里插入图片描述
现在解决点击首页头部里的按钮,改变下边main数据的逻辑,首页<el-menu>有一个点击事件(点击<el-menu>下的子节点时触发的事件)

在这里插入图片描述
事件里接收两个参数:key、keyPath
在这里插入图片描述

修改index的值
在这里插入图片描述

把默认值改为index首页的组件,并打印拿到的俩参数值
在这里插入图片描述

点击上边的按钮,就会达到对应的组件index值
在这里插入图片描述
由上边可知,事件里能拿到路由地址,所以在事件里做路由切换即可
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
发现头部组件被覆盖掉了,不是只刷新main部分,与我们的需求不符合,即我们需要无论再怎么路由,头部的导航栏不能消失

把主页index.vue里的头部全部剪切放到App.vue里(剪切下边的内容)
在这里插入图片描述
剪切后此处只写主页
在这里插入图片描述
剪切的内容放到App.vue里,下边红框里作为公共内容,以后一直存在,不会因为路由而消失在这里插入图片描述把index里js的数据也剪切走在这里插入图片描述
放到App.vue里
在这里插入图片描述
效果
在这里插入图片描述
切换:
在这里插入图片描述

1.4 main主页添加轮播图

轮播图在ElemrntUI里对应的组件是走马灯组件
在这里插入图片描述
把代码和样式复制到项目里,并且放几张图片在项目里
在这里插入图片描述
首页组件里引入这些图片,并且定义一个数组,数组里的内容就是引入的图片,在上边的代码里循环这些数组
在这里插入图片描述
图片展示风格,参考image图片组件
在这里插入图片描述
复制到代码里

在这里插入图片描述
效果
在这里插入图片描述

发现不美观,我们把宽高去掉
在这里插入图片描述
在这里插入图片描述
发现图片展示不全,需要调整图片高度
在这里插入图片描述

在这里插入图片描述
如果需要图片填充满的话,使用fill
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 用户管理界面

在这里插入图片描述
复制到用户管理对应组件代码里

数据:
在这里插入图片描述
在这里插入图片描述
这里数据是写死的,我们需要结合后端springboot来把数据做活
后端接口:
在这里插入图片描述

注意,前端端口8080.后端端口8089,所以肯定存在跨域

此时前端需要发ajax请求,脚手架需要安装axios

# 安装axios
npm -i --save axios
# 或者
cnpm install axios --save
# 或者
npm install --save axios

在main.js里使用axios
在这里插入图片描述
当用户管理界面组件初始化之后,就去渲染数据

在这里插入图片描述
created:组件初始化之后执行的逻辑;

浏览器地址输入users组件地址,但是发现页面还是在首页在这里插入图片描述
是因为路由激活这里写死了,默认激活的是index首页组件

在这里插入图片描述
path改为当前路由路径即可
在这里插入图片描述
完成添加按钮逻辑

点击添加按钮时,加一些过渡动画
在这里插入图片描述
复制动画代码和样式
在这里插入图片描述

在这里插入图片描述
此时,点击添加按钮时,下边的框就会有动画了,我们把下边的框换为自己的想要的form弹框即可,把赋值过来的style样式改一下大小
在这里插入图片描述

复制一个form表单(包括假数据、method)到代码里
在这里插入图片描述
把这里的内容替换为form表单即可
在这里插入图片描述
在这里插入图片描述
构建form表单
在这里插入图片描述
在这里插入图片描述
后台接口

统一返回结果封装
在这里插入图片描述
在这里插入图片描述
前端调后端接口
在这里插入图片描述
把消息成功风格的代码复制进去
在这里插入图片描述
在这里插入图片描述
添加成功后,要重新渲染页面
在这里插入图片描述
此时,created方法里调的方法,也挪一下
在这里插入图片描述
在这里插入图片描述

数据越来越多的话,页面被撑大,可以给页面设置高度,不让他无限制增长(即添加滚动条)
在这里插入图片描述

右侧有滚动条了
在这里插入图片描述
删除功能
在这里插入图片描述
js
在这里插入图片描述

后端接口
在这里插入图片描述
上边的删除直接就删了,不太友好,可以加一个“确认删除”的提示——气泡确认框
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑功能
点击“编辑”时,复用添加的弹框,实现编辑操作
在这里插入图片描述
在这里插入图片描述
点完编辑后,弹框里与数据看,那点击添加的时候,就得清空表单

添加按钮起一个方法,性别设置一个默认值:
在这里插入图片描述
添加重置按钮
在这里插入图片描述
在这里插入图片描述
保存的逻辑
在这里插入图片描述

后端
在这里插入图片描述

1.6 添加表单验证

在这里插入图片描述
在这里插入图片描述
注意,上边的属性是表单的属性
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存时也进行校验,不提交表单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在提交方法里进行验证
在这里插入图片描述

1.7 Pagination分页组件

在这里插入图片描述

在表格下加一个分页组件
在这里插入图片描述
效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注意,pagesize必须是pagesizes的子元素
在这里插入图片描述
添加事件
在这里插入图片描述

在这里插入图片描述
后台代码需要改为分页查询,不能再查询所有了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端js以后就访问分页方法了
在这里插入图片描述
总条数就不写死了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pagesize与当前页也不写死
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.8 解决ElementUI日期组件日期不正确的问题

组件里选择的是2022-5-28,但是保存到后台却是2022-5-27
在这里插入图片描述
在这里插入图片描述
解决办法:添加一个value-format属即可解决

在这里插入图片描述

二 部署ElemrntUI项目

先执行编译命令

npm run build

执行后生成一个dist文件
在这里插入图片描述
把static和index.html直接复制到springboot项目里的resource下的static里
在这里插入图片描述
配置静态资源路径
在这里插入图片描述

以后直接启动一个springboot,访问springboot的端口就行了,不需要单独启动前端项目了。访问localhost:8989,就会自动路由到localhost:8989/index首页
在这里插入图片描述

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

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

相关文章

CKA认证,开启您的云原生之旅!

在当今数字化时代&#xff0c;云计算已经成为企业和个人发展的关键技术。而获得CKA&#xff08;Certified Kubernetes Administrator&#xff09;认证&#xff0c;将是您在云原生领域迈出的重要一步。 CKA认证是由Kubernetes官方推出的权威认证&#xff0c;它旨在验证您在Kuber…

事件循环解析

浏览器的进程模型 何为进程&#xff1f; 程序运行需要有它自己专属的内存空间&#xff0c;可以把这块内存空间简单的理解为进程 每个应用至少有一个进程&#xff0c;进程之间相互独立&#xff0c;即使要通信&#xff0c;也需要双方同意。 何为线程&#xff1f; 有了进程后&…

Premiere模板|可调整大小的快节奏图文视频模板剪辑素材

适用于Premiere Pro的可调整大小的快节奏图文视频开场pr模板素材mogrt。 主要特点&#xff1a;可调整大小&#xff08;19201080、10801920&#xff09;分辨率&#xff0c;Pr2021或更高版本软件&#xff0c;非常易于定制&#xff0c;19秒持续时间。 来自PR模板网&#xff1a;htt…

解析Hadoop三大核心组件:HDFS、MapReduce和YARN

目录 HadoopHadoop的优势 Hadoop的组成HDFS架构设计Yarn架构设计MapReduce架构设计 总结 在大数据时代&#xff0c;Hadoop作为一种开源的分布式计算框架&#xff0c;已经成为处理大规模数据的首选工具。它采用了分布式存储和计算的方式&#xff0c;能够高效地处理海量数据。Had…

MySQL数据库进阶第五篇(锁)

文章目录 一、锁的概述二、全局锁三、表级锁四、元数据锁&#xff08;meta data lock, MDL&#xff09;五、意向锁六、行级锁七、行锁&#xff08;Record Lock&#xff09;八、间隙锁&#xff08;Gap Lock&#xff09;九、临键锁&#xff08;Next-Key Lock&#xff09;十、锁总…

python(ch1)

四个软件简介 1. IDLE IDLE 是 Python 官方 IDLE 开发环境&#xff0c;一个功能简单的文本编辑器&#xff0c;带有语法高亮、自动补全和缩进功能。它适合初学者学习 Python 的基本语法和概念。 2. PyCharm PyCharm 是 JetBrains 开发的一款功能强大的 Python IDE&#xff0…

ChatGPT带火的HBM是什么?

“ChatGPT是人工智能领域的iPhone时刻&#xff0c;也是计算领域有史以来最伟大的技术之一。” 英伟达创始人兼CEO黄仁勋此前这样盛赞ChatGPT。 ChatGPT突然爆火&#xff0c;对大算力芯片提出了更高更多的要求。近日&#xff0c;据韩国经济日报报道&#xff0c;受惠于ChatGPT&am…

naive-ui-admin BasicTable 列表操作栏显示图标icon

效果图 在使用BasicTable的页面添加引用&#xff0c;这里随便弄了个icon import { GameController } from "vicons/ionicons5" 自定义列 const actionColumn reactive({width: 180,title: "操作",key: "action",fixed: "right",ren…

python爬虫实战:获取电子邮件和联系人信息

引言 在数字时代&#xff0c;电子邮件和联系人信息成为了许多企业和个人重要的资源&#xff0c;在本文中&#xff0c;我们将探讨如何使用Python爬虫从网页中提取电子邮件和联系人信息&#xff0c;并附上示例代码。 目录 引言 二、准备工作 你可以使用以下命令来安装这些库&a…

【笔记】深度学习入门:基于Python的理论与实现(二)

神经网络的学习&#xff08;神经网络的学习阶段&#xff0c;不是我们学习神经网络&#xff09; 从数据中学习 训练数据和测试数据 机器学习中&#xff0c;一般将数据分为训练数据和测试数据两部分来进行学习和 实验等。首先&#xff0c;使用训练数据进行学习&#xff0c;寻找最…

SQL进阶(三):Join 小技巧:提升数据的处理速度

复杂数据结构处理&#xff1a;Join 小技巧&#xff1a;提升数据的处理速度 本文是在原本sql闯关的基础上总结得来&#xff0c;加入了自己的理解以及疑问解答&#xff08;by GPT4&#xff09; 原活动链接 用到的数据&#xff1a;链接 提取码&#xff1a;l03e 目录 1. 课前小问…

C++笔记之执行一个可执行文件时指定动态库所存放的文件夹lib的路径

C++笔记之执行一个可执行文件时指定动态库所存放的文件夹lib的路径 参考博文: 1.C++笔记之执行一个可执行文件时指定动态库所存放的文件夹lib的路径 2.Linux笔记之LD_LIBRARY_PATH详解 3.qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径 c…

React PureComponent 和 React.memo()区别

1 注意 ● PureComponent和memo仅作为性能优化的方式存在 ● 不要依赖它来阻止渲染&#xff0c;会产生BUG ● PureComponnet 和memo 都是通过对 props 值的浅比较来决定该组件是否需要更新的。 2 PureComponent 和React.memo() 区别 PureComponent 和React.memo()都是React优化…

Sora专辑|AI界一夜变天

没有丝毫预热和剧透,Open AI深夜直接丢下核弹炸了街,从业者深感要变天。 2月16日凌晨,Open AI发布了首个“文生视频”模型Sora。官方介绍,Sora能根据文字指令创造出包含丰富细节的逼真场景、角色,且能用多角度镜头,生成一镜到底的60秒长视频。 目前官网上已经更新了48个…

python Matplotlib Tkinter-->导出pdf报表

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 reportlab 4.0.9 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.messagebox as messagebox impor…

【java-集合框架】ArrayList类

&#x1f4e2;java基础语法&#xff0c;集合框架是什么&#xff1f;顺序表的底层模拟实现都是看本篇前的基础必会内容&#xff0c;本篇不再赘述&#xff0c;详情见评论区文章。 &#x1f4e2;编程环境&#xff1a;idea 【java-集合框架】ArrayList类 1. 先回忆一下java代码中常…

Facebook Messenger链接分享:如何创建链接并设置自动化内容

Facebook Messenger链接是指基于Facebook用户名创建的会话链接&#xff0c;用户可以在其Facebook页面的设置部分复制此链接进行分享。然后将该链接直接粘贴到独立站、电子邮件、名片或社交媒体中&#xff0c;让目标受众可以一键进入对话。为了满足某些商家的需求&#xff0c;Fa…

Qt QWidget 简约美观的加载动画 第五季 - 小方块风格

给大家分享两个小方块风格的加载动画 &#x1f60a; 第五季来啦 &#x1f60a; 效果如下: 一个三个文件,可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc, char *arg…

时间序列分析实战(四):Holt-Winters建模及预测

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

C++ //练习 9.24 编写程序,分别使用at、下标运算符、front和begin提取一个vector中的第一个元素。在一个空vector上测是你的程序。

C Primer&#xff08;第5版&#xff09; 练习 9.24 练习 9.24 编写程序&#xff0c;分别使用at、下标运算符、front和begin提取一个vector中的第一个元素。在一个空vector上测是你的程序。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;v…