技术协会Web前端部面试,Web核心技术之Element组件库学习及综合案例,精通web前端开发

查看

新增

删除

王小虎

2.3 案例

其他的组件我们通过完成一个页面来学习。

我们要完成如下页面效果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

要完成该页面,我们需要先对这个页面进行分析,看页面由哪儿几部分组成,然后到官网进行拷贝并修改。页面总共有如下组成部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3bPLoHn-1642766557864)(assets/image-20210831185505106.png)]

还有一个是当我们点击 新增 按钮,会在页面正中间弹出一个对话框,如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3.1 准备基本页面
Title
2.3.2 完成表格展示

使用 Element 整体的思路就是 拷贝 + 修改。

2.3.2.1 拷贝

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cMgO0W94-1642766557868)(assets/image-20210831185937618.png)]

在左菜单栏找到 Table 表格并点击,右边主体就会定位到表格这一块,找到我们需要的表格效果(如上图),点击 显示代码 就可以看到这个表格的代码了。

将html标签拷贝到 <div id="app"></div> 中,如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将css样式拷贝到我们页面的 head 标签中,如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将方法和模型数据拷贝到 Vue 对象指定的位置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

拷贝完成后通过浏览器打开可以看到表格的效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pZRblRMg-1642766557868)(assets/image-20210831191234876.png)]

表格效果出来了,但是显示的表头和数据并不是我们想要的,所以接下来就需要对页面代码进行修改了。

2.3.2.2 修改
  1. 修改表头和数据

下面是对表格代码进行分析的图解。根据下图说明修改自己的列数和列名

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

修改完页面后,还需要对绑定的模型数据进行修改,下图是对模型数据进行分析的图解

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 给表格添加操作列

从之前的表格拷贝一列出来并对其进行修改。按钮是从官网的 Button 按钮 组件中拷贝并修改的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 给表格添加复选框列和标号列

给表格添加复选框和标号列,效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jEPH4WFH-1642766557868)(assets/image-20210831193216143.png)]

此效果也是从 Element 官网进行拷贝,先找到对应的表格效果,然后将其对应代码拷贝到我们的代码中,如下是复选框列官网效果图和代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NwBPbLcq-1642766557869)(assets/image-20210831193601788.png)]

这里需要注意在 <el-table> 标签上有一个事件 @selection-change="handleSelectionChange" ,这里绑定的函数也需要从官网拷贝到我们自己的页面代码中,函数代码如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gt2ey2b-1642766557870)(assets/image-20210831194013986.png)]

从该函数中又发现还需要一个模型数据 multipleSelection ,所以还需要定义出该模型数据

标号列也用同样的方式进行拷贝并修改。

2.3.3 完成搜索表单展示

在 Element 官网找到横排的表单效果,然后拷贝代码并进行修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-94LGGqvd-1642766557870)(assets/image-20210831194300357.png)]

点击上面的 显示代码 后,就会展示出对应的代码,下面是对这部分代码进行分析的图解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsgi44F3-1642766557870)(assets/image-20210831194835721.png)]

然后根据我们要的效果修改代码。

2.3.4 完成批量删除和新增按钮展示

从 Element 官网找具有着色效果的按钮,并将代码拷贝到我们自己的页面上

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3.5 完成对话框展示

在 Element 官网找对话框,如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下面对官网提供的代码进行分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上图分析出来的模型数据需要在 Vue 对象中进行定义。

2.3.6 完成分页条展示

在 Element 官网找到 Pagination 分页 ,在页面主体部分找到我们需要的效果,如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击 显示代码 ,找到 完整功能 对应的代码,接下来对该代码进行分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面代码属性说明:

  • page-size :每页显示的条目数

  • page-sizes : 每页显示个数选择器的选项设置。

:page-sizes="[100,200,300,400]" 对应的页面效果如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • currentPage :当前页码。我们点击那个页码,此属性值就是几。

  • total :总记录数。用来设置总的数据条目数,该属性设置后, Element 会自动计算出需分多少页并给我们展示对应的页码。

事件说明:

  • size-change :pageSize 改变时会触发。也就是当我们改变了每页显示的条目数后,该事件会触发。

  • current-change :currentPage 改变时会触发。也就是当我们点击了其他的页码后,该事件会触发。

2.3.7 完整页面代码
Title

<el-button type=“primary” @click=“onSubmit”>查询

批量删除

<el-button type=“primary” plain @click=“dialogVisible = true”>新增

<el-dialog

title=“编辑品牌”

:visible.sync=“dialogVisible”

width=“30%”>

<el-switch v-model=“brand.status”

active-value=“1”

inactive-value=“0”

<el-button type=“primary” @click=“addBrand”>提交

<el-button @click=“dialogVisible = false”>取消

<el-table

:data=“tableData”

style=“width: 100%”

:row-class-name=“tableRowClassName”

@selection-change=“handleSelectionChange”>

<el-table-column

type=“selection”

width=“55”>

<el-table-column

type=“index”

width=“50”>

<el-table-column

prop=“brandName”

label=“品牌名称”

align=“center”>

<el-table-column

prop=“companyName”

label=“企业名称”

align=“center”>

<el-table-column

prop=“ordered”

align=“center”

label=“排序”>

<el-table-column

prop=“status”

align=“center”

label=“当前状态”>

<el-table-column

align=“center”

label=“操作”>

修改

删除

<el-pagination

@size-change=“handleSizeChange”

@current-change=“handleCurrentChange”

:current-page=“currentPage”

:page-sizes=“[5, 10, 15, 20]”

:page-size=“5”

layout=“total, sizes, prev, pager, next, jumper”

:total=“400”>

3,综合案例


3.1 功能介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aoux3IB2-1642766557871)(./assets/image-20210825171411003.png)]

以上是我们在综合案例要实现的功能。对数据的除了对数据的增删改查功能外,还有一些复杂的功能,如 批量删除分页查询条件查询 等功能

  • 批量删除 功能:每条数据前都有复选框,当我选中多条数据并点击 批量删除 按钮后,会发送请求到后端并删除数据库中指定的多条数据。

  • 分页查询 功能:当数据库中有很多数据时,我们不可能将所有的数据展示在一页里,这个时候就需要分页展示数据。

  • 条件查询 功能:数据库量大的时候,我们就需要精确的查询一些想看到的数据,这个时候就需要通过条件查询。

这里的 修改品牌删除品牌 功能在课程上不做讲解,留作同学来下的练习。

3.2 环境准备

环境准备我们主要完成以下两件事即可

  • 将资料的 brand-case 模块导入到 idea中

  • 执行资料中提供的 tb_brand.sql脚本

3.2.1 工程准备

04-资料\01-初始工程 中的 brand-case 工程导入到我们自己的 idea 中。工程结构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2.2 创建表

下面是创建表的语句

– 删除tb_brand表

drop table if exists tb_brand;

– 创建tb_brand表

create table tb_brand (

– id 主键

id int primary key auto_increment,

– 品牌名称

brand_name varchar(20),

– 企业名称

company_name varchar(20),

– 排序字段

ordered int,

– 描述信息

description varchar(100),

– 状态:0:禁用 1:启用

status int

);

– 添加数据

insert into tb_brand (brand_name, company_name, ordered, description, status)

values

(‘华为’, ‘华为技术有限公司’, 100, ‘万物互联’, 1),

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

401113)]
[外链图片转存中…(img-PnD0wkLq-1712319401114)]
[外链图片转存中…(img-P8fVxqxh-1712319401114)]
[外链图片转存中…(img-JNYwaC0n-1712319401114)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-2ragamE0-1712319401114)]

react和vue的比较

相同
1)vitual dom
2)组件化
3)props,单一数据流

不同点
1)react是jsx和模板;(jsx可以进行更多的js逻辑和操作)
2)状态管理(react)
3)对象属性(vue)
4)vue:view——medol之间双向绑定
5)vue:组件之间的通信(props,callback,emit)

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-aIMYEN6c-1712319401115)]

[外链图片转存中…(img-mw05Gc0C-1712319401115)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值