VUE基础知识九 ElementUI项目

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.hqwc.cn/news/493317.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【hot100】跟着小王一起刷leetcode -- 49. 字母异位词分组

【【hot100】跟着小王一起刷leetcode -- 49. 字母异位词分组 49. 字母异位词分组题目解读解题思路代码实现 总结 49. 字母异位词分组 题目解读 49. 字母异位词分组 ok&#xff0c;兄弟们&#xff0c;咱们来看看这道题&#xff0c;很明显哈&#xff0c;这里的关键词是字母异位…

【K8s】初识PV和PVC

​ 目录 收起 O、致谢 一、前言 二、Volume 2.1 什么是Volume 2.2 为什么要引入Volume 2.3 Volume类型有哪些 2.4 Volume如何使用 2.4.1 通过emptyDir共享数据 2.4.2 使用HostPath挂载宿主机文件 2.4.3 挂载NFS至容器 三、PV和PVC 3.1 什么是PV和PVC 3.2 为什么要引入PV和PVC 3…

Educational Codeforces Round 160 (Rated for Div. 2) D. Array Collapse(笛卡尔树+DP)

原题链接&#xff1a;D. Array Collapse 题目大意&#xff1a; 给你一个长度为 n n n 的排列 p p p &#xff0c;排列的定义为 [ 1 , 2 , 3 , . . , n ] [1,2,3,..,n] [1,2,3,..,n] 中每个数都出现 恰好 一次。 你可以做 任意多次 这样的操作&#xff1a; 选出一个任意长度…

PROTEL

PROTEL是什么 Protel软件是由Altium公司&#xff08;原为Protel Technology公司&#xff09;开发的一款电子设计自动化&#xff08;EDA&#xff09;软件&#xff0c;主要用于电子电路设计和印制电路板&#xff08;PCB&#xff09;制作。 学习Protel 99 SE的大致过程 原理图文…

芯科科技与Arduino携手推动Matter普及化

双方的合作可助力开发人员在两分钟内将新开发板配置入网 致力于以安全、智能无线连接技术&#xff0c;建立更互联世界的全球领导厂商Silicon Labs&#xff08;亦称“芯科科技”&#xff0c;NASDAQ&#xff1a;SLAB&#xff09;日前宣布&#xff0c;公司与开源硬件和软件领域的…

【MySQL】表的约束 -- 详解

表中一定要有各种约束&#xff0c;通过约束让我们在未来插入数据库表中的数据是符合预期的。约束本质是通过技术手段倒逼程序员插入正确的数据&#xff0c;反过来站在 MySQL 的角度&#xff0c;凡是插入进来的数据都是符合数据约束的。约束的最终目标&#xff1a;保证数据的完整…

【c语言】字符函数和字符串函数(上)

前言 在编程的过程中&#xff0c;我们经常要处理字符和字符串&#xff0c;为了⽅便操作字符和字符串&#xff0c;C语⾔标准库中提供了⼀系列库函数~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 前言 1. 字符分…

matlab采用不同数值方法求解微分方程

1、内容简介 略 60-可以交流、咨询、答疑 欧拉方法、改进欧拉、RK4、米尔斯坦方法求解微分方程 2、内容说明 略 lc; close all; clear all; % 参数赋值 global a global b global h a 1; b 2; Ni 1000; % 总步数 h 0.001; % 步长Xt1(1:Ni) 0; Xt2(…

【析】装卸一体化车辆路径问题的自适应并行遗传算法

0 引言 国内外有关 &#xff36;&#xff32;&#xff30;&#xff33;&#xff30;&#xff24;的文献较多&#xff0c;求解目标多以最小化车辆行驶距离为主&#xff0c;但现实中可能存在由租赁费用产生的单次派出成本&#xff0c;需要综合考 虑单次派车成本和配送路径成本。…

数据库系统概论(超详解!!!) 第一节 绪论

1.四个基本概念 1.数据&#xff08;Data&#xff09; 数据&#xff08;Data&#xff09;是数据库中存储的基本对象 数据的定义&#xff1a;描述事物的符号记录 数据的种类&#xff1a;数字、文字、图形、图像、音频、视频、学生的档案记录等 数据的含义称为数据的语义&…

设计模式(六)代理模式

相关文章设计模式系列 1.代理模式简介 代理模式介绍 代理模式也叫委托模式&#xff0c;是结构型设计模式的一种。在现实生活中我们用到类似代理模式的场景有很多&#xff0c;比如代购、代理上网、打官司等。 定义 为其他对象提供一种代理以控制这个对象的访问。 代理模式…

Java EE改名Jakarta EE,jakarta对程序开发的影响

一、前言 很多Java程序员在使用新版本的Spring6或者springboot3版本的时候&#xff0c;发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候&#xff0c;也发展了大量jakarta的工程包。 比如&#xff1a;camunda的webapps编译工程就提供了2种方式javax和jaka…