vue+Element-ui前端实现分页效果


Posted in Javascript onNovember 15, 2020

本文实例为大家分享了vue+Element-ui前端实现分页效果的具体代码,供大家参考,具体内容如下

分页技术

分页技术的概念

分页就是将所有的数据分段展示给用户,用户看到的可能不是全部的数据,而是其中一部分,用户可以通过点击页码来查找自己需要的内容,也可以通过模糊查询获取符合内容的数据

分页的意义

分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢?如果数据量少的话当然可以.但是对于企业信息系统来说数据量不会限制在一个小范围内.如果不顾一切的Select * from某个表,再将返回的数据一古脑的扔给客户,即使客户能够忍受成千上万足够让人眼花缭乱的表格式数据,繁忙的网络,紧张的服务器也会提出它们无声的抗议,甚至有时会以彻底的罢工

前端实现分页效果

在el-tree控件中将内容按照一个页面显示十条数据,来实现分页的效果

实现效果:el-tree

vue+Element-ui前端实现分页效果

<template>
 <div class="big">
 <div class="top">
 <el-input placeholder="搜索" v-model="searchData" @input="search"></el-input>
 </div>
 <div class="middle">
 <el-tree :data="list">
 <span slot-scope="{ node, data }">
  <span class="el-icon-tickets"></span>
  <span>{{data.name}} {{data.age}}</span>
 </span>
 </el-tree>
 </div>
 <div class="bottom">
 <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" background :current-page="page"
 :page-size="limit" layout="prev, pager, next" :total="total"></el-pagination>
 </div>
 </div>
</template>
<script>
 export default {
 data() {
 return {
 data: [{
  name: 'aa',
  age: 12
  },
  {
  name: 'bb',
  age: 13
  }
 ],//列举一部分的数据
 list: [], // 显示的数据
 limit: 10, // 条数,每一页显示的数量
 total: 20, // 所有的数量
 page: 1, //当前页
 searchData: '' // 搜索内容
 }
 },
 created() {
 this.pageList()
 },
 methods: {
 pageList() {
 this.getList()
 },
 // 处理数据
 getList() {
 // es6过滤得到满足搜索条件的展示数据list
 var list = this.data.filter((item, index) =>
  item.name.includes(this.searchData)
 ) // 搜索符号条件的内容
 console.log(list)
 this.list = list.filter((item, index) =>
  index < this.page * this.limit && index >= this.limit * (this.page - 1)
 ) //根据页数显示相应的内容
 this.total = list.length
 },
 // 当每页数量改变
 handleSizeChange(val) {
 console.log(`每页 ${val} 条`);
 this.limit = val
 this.getList()
 },
 // 当当前页改变
 handleCurrentChange(val) {
 console.log(`当前页: ${val}`);
 this.page = val
 this.getList()
 },
 // 搜索过滤数据
 search() {
 this.page = 1
 this.getList()
 }
 },
 }
</script>

el-table实现分页效果也是类似的

展示效果

vue+Element-ui前端实现分页效果

html的代码,js的代码和tree的分页差不多,el-table的分页添加了可以选择显示的数量,以及跳转页码

<div class="big">
  <el-row>
   <el-col :span="21">
    <el-input v-model="searchData" @input="search" placeholder="输入姓名搜索"></el-input>
   </el-col>
   <el-col :span="3">
    <el-button type="success" @click="search">搜索</el-button>
   </el-col>
  </el-row>
  <el-table :data="list" border>
   <el-table-column label="姓名" prop="name"></el-table-column>
   <el-table-column label="年龄" prop="age"></el-table-column>
  </el-table>
  <div style="text-align: center;">
 <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
  :current-page="page" :page-sizes="[1, 2,5, 10]" :page-size="limit"
  layout="total, sizes, prev, pager, next, jumper" :total="total">
 </el-pagination>
 </div>
</div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中令你抓狂的魔术变量
Nov 30 Javascript
图片自动缩小 点击放大
Jul 07 Javascript
jquery append()方法与html()方法的区别及使用介绍
Aug 01 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
Dec 08 Javascript
js图片轮播手动切换特效
Jan 12 Javascript
JavaScript数组复制详解
Feb 02 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
Sep 30 Javascript
vue+element-ui实现表格编辑的三种实现方式
Oct 31 Javascript
Vue.js的复用组件开发流程完整记录
Nov 29 Javascript
vue+Element-ui实现分页效果
Nov 15 #Javascript
vue实现抽屉弹窗效果
Nov 15 #Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 #Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
Nov 13 #Javascript
vant 解决tab切换插件标题样式自定义的问题
Nov 13 #Javascript
vue 授权获取微信openId操作
Nov 13 #Javascript
详解vue修改elementUI的分页组件视图没更新问题
Nov 13 #Javascript
You might like
php引用地址改变变量值的问题
2012/03/23 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
php生成无限栏目树
2017/03/16 PHP
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
node.js中的events.emitter.listeners方法使用说明
2014/12/10 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python 错误和异常小结
2013/10/09 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
Python实现注册、登录小程序功能
2018/09/21 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python通过两个dataframe用for循环求笛卡尔积
2020/04/29 Python
python中判断文件结束符的具体方法
2020/08/04 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
Tarte Cosmetics官网:美国最受欢迎的化妆品公司之一
2017/08/24 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
Linux常见面试题
2013/03/18 面试题
设计总监岗位职责
2013/12/07 职场文书
医学求职信
2014/05/28 职场文书
怎么写工作检讨书
2014/11/16 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
世界红十字日活动总结
2015/02/10 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书