引言

Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手、带你飞!
即使你并非前端开发人员,对前端的开发流程进行一定的了解也是很有必要的,谁也不确定公司以后会不会让我做前端去,做些简单的实例既不需要花费很多时间,也可以提高自己的自信和成就感,所以跟着明哥走,没有错,来吧!

导航

✪  Vue开发实例目录总索引
上一篇【16】创建标签页
下一篇【18】用户列表的增删改

创建用户页面和路由

  1. 创建用户页面

在src下创建文件夹user ,创建文件UserList.vue,文件内容如下:

<template><div>用户列表</div>
</template><script>export default {name: "UserList"}
</script><style scoped></style>
  1. 在之前使用的mockjs中,将菜单数据进行修改,加入用户管理的数据
Mock.mock('/post/menuList','get',function(){const menu_data = [{name:'用户管理',icon:'el-icon-user',path:'/index/userList',component:'user/UserList'},{name:'一级菜单1',icon:'el-icon-location',path:'/index/menu1',component:'Main1'},{name:'一级菜单2',icon:'el-icon-document',path:'/index/menu2',component:'Main2'}]return{menu_data}
});
  1. 页面效果

实现列表

  1. 页面模板
<template><el-table:data="userData"style="width: 100%"border:default-sort = "{prop: 'date', order: 'descending'}"><el-table-columnprop="date"label="日期"sortablewidth="180"></el-table-column><el-table-columnprop="name"label="姓名"sortablewidth="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column></el-table>
</template>
  1. 数据
userData:
[{date: '2022-05-02',name: '明世隐3号',address: '江西省南昌市XXXXXX路1号'}, {date: '2022-05-04',name: '明世隐4号',address: '江西省南昌市XXXXXX路2号'}, {date: '2022-05-01',name: '明世隐1号',address: '江西省南昌市XXXXXX路4号'}, {date: '2022-05-03',name: '明世隐2号',address: '江西省南昌市XXXXXX路3号'}
]
  1. 页面效果

  1. 模拟从后端取回数据

在mockjs中模拟数据,将userData数据放到mock中,添加如下代码

Mock.mock('/post/userList','get',function(){const userData = [{date: '2022-05-02',name: '明世隐3号',address: '江西省南昌市XXXXXX路1号'}, {date: '2022-05-04',name: '明世隐4号',address: '江西省南昌市XXXXXX路2号'}, {date: '2022-05-01',name: '明世隐1号',address: '江西省南昌市XXXXXX路4号'}, {date: '2022-05-03',name: '明世隐2号',address: '江西省南昌市XXXXXX路3号'}]return{userData}
});

页面中数据的请求代码,

  1. 定义方法getUserData,使用axios 去请求数据,并将请求的数据设置给userData。
  2. 在created狗钩子函数中调用getUserData方法。
 data() {return {userData:[]}
},
methods:{getUserData(){this.$axios.post('/post/userList').then(res=>{this.userData = res.data.userData;});}},
created() {this.getUserData();
}

表格优化

  1. 表头自定义
  1. el-table 增加属性 header-row-class-name 值为 table_header_class
  2. 设置样式,注意使用:/deep/ .table_header_class th

  1. 表格滚动

如果数据过多则需要加入表格滚动,否则是外部滚动很难看,看下面的效果

处理起来比较简单,在el-table加入height属性即可,比如我设置值为360


设置后的效果:

  1. 加入数据索引

给表格加上一列即可,设置 type=“index”

<el-table-columntype="index"width="50">
</el-table-column>
  1. 利用插槽自定义显示

让数据看起来更显眼、分类更明确
比如 userData 加了tag,表示地址是工作地址,还是家

 [{date: '2022-05-02',name: '明世隐3号',address: '江西省南昌市XXXXXX路1号',tag:'家'}, {date: '2022-05-04',name: '明世隐4号',address: '江西省南昌市XXXXXX路2号',tag:'工作'}, {date: '2022-05-01',name: '明世隐1号',address: '江西省南昌市XXXXXX路4号',tag:'工作'}, {date: '2022-05-03',name: '明世隐2号',address: '江西省南昌市XXXXXX路3号',tag:'家'},
]

加上一列用来显示tag 标签

<el-table-columnprop="tag"label="标签">
</el-table-column>`

页面效果

看起来也没什么特别的,感觉非常的平淡
加入插槽来修改一下,就会漂亮显眼很多

<el-table-columnprop="tag"label="标签"><template slot-scope="scope"><el-tag:type="scope.row.tag === '家' ? 'primary' : 'success'"disable-transitions>{{scope.row.tag}}</el-tag></template>
</el-table-column>

页面效果:

搜索功能

这里简单的以名字来搜索

  1. 页面添加搜索框和搜索按钮,在table的前面加入代码
<div id="button_div"><el-input id='search-input' size='small' label-width='100px'prefix-icon="el-icon-search" placeholder="请输入名字..."v-model='search_name'></el-input><el-button type="primary" size='small' class="search-button" @click="search">搜索</el-button>
</div>

  1. 在data里面定义search_name,对应el-input的v-model

  2. 编写搜索方法search,模拟查询

search(){this.$axios.post('/post/searchUser',{name:this.search_name}).then(res=>{this.userData = res.data.userData;});
}
  1. 在mockjs中编写代码
Mock.mock('/post/searchUser','post',function(param){console.log(param)let body = JSON.parse(param.body);let name = body.name;let newData=[]if(name){newData = userData.filter((item)=>{return item.name.indexOf(name)>-1;})}else{newData = userData;}return{userData:newData}
});
  1. 测试如下:

小结

这节总结了“ 实现用户列表 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java和前端的,【关注一波】不迷路哦。
请到文章下方帮忙【一键三连】谢谢哈!

导航

✪  Vue开发实例目录总索引
上一篇【16】创建标签页
下一篇【18】用户列表的增删改

热门专栏推荐

【1】Java小游戏(俄罗斯方块、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】IDEA从零到精通

Vue开发实例(17)之实现用户列表相关推荐

  1. Vue开发实例(16)之创建标签页

    引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手.带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了 ...

  2. Vue开发实例(20)之实现登录功能

    引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手.带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了 ...

  3. Vue开发实例(15)之动态路由

    引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手.带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了 ...

  4. Vue开发实例(13)之axios和mockjs的安装与使用

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  5. Vue开发实例(14)之Vue状态管理store

    引言 Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手.带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了 ...

  6. Vue开发实例(07)之编写头部页面

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  7. Vue开发实例(11)之el-menu实现左侧菜单导航

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  8. 3.vue开发实例演示

    个人博客:http://blog.kunpw.cn/ vue开发实例演示 1.解剖初始化模板 1.1 vue文件 如图所示,对于一个新建的vue文件而言,其中标签分为三个部分: template标签: ...

  9. Vue开发实例(12)之实现动态左侧菜单导航

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

最新文章

  1. java 折线图_java折线图的数据写入方法
  2. jsp网上商城jsp课程设计
  3. 多线程生产者和消费者
  4. 短域名php,php生成短域名函数_PHP教程
  5. 下拉框--请选择-- 浏览器渲染不同造成页面初始化不一致
  6. pyautogui typewrite_解放双手:Pyautogui帮你work
  7. nvidia cuda工具包更新9.0版本记录
  8. abd shell关闭所有程序_带你进一步了解“终端”Shell
  9. undefined reference to `major‘
  10. RT-Thread在正点原子Apollo上使用MAX30102读取心率、血氧参数
  11. pmp中项目经理如何进行目标设定
  12. Warning: [antdv: LocaleProvider] `LocaleProvider` is deprecated. Please use `local
  13. 白领加薪升迁九大高招
  14. 【产品】建立二八法则思维模式:精准定位
  15. 【艺赛旗RPA流程开发课堂】如何使用结构化数据拾取
  16. Coursera机器学习-第六周-Advice for Applying Machine Learning
  17. 微信公众号如何开通模板消息功能?申请理由怎么写?
  18. Structured-Streaming编程练习知识点
  19. 吉林大学正版matlab2020b安装教程(windows)
  20. 手机上html怎么删不掉,格式化也不靠谱?教你如何彻底删除手机上的数据

热门文章

  1. 国密SM9算法C++实现之四:基本功能函数与KGC接口的实现
  2. 基于超分辨率的遥感图像小目标检测
  3. DPI与像素分辨率的关系
  4. 28,verilog中的字符串表示
  5. keras训练完以后怎么预测_一文告诉你如何将Keras模型保存到文件中,并再次加载它们来进行预测。...
  6. 机械臂实时控制仿真演示
  7. 一、Spring概述(特点与主要模块架构图)
  8. 上海交大裴凌教授:智能环境感知与室内定位
  9. Delphi 判断一个对象是否存在(赋值)的三种办法
  10. 总结对Dva数据流向的简单理解