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中数组的多种定义方法和常用函数简介
May 09 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
javascript 秒表计时器实现代码
Mar 09 Javascript
原生JS实现九宫格抽奖效果
Apr 01 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
layui.js实现的表单验证功能示例
Nov 15 Javascript
vue cli使用绝对路径引用图片问题的解决
Dec 06 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
Feb 13 Javascript
深入解析vue 源码目录及构建过程分析
Apr 24 Javascript
更优雅的微信小程序骨架屏实现详解
Aug 07 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
我所理解的JavaScript中的this指向
Sep 04 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的错误信息
2006/10/09 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
JS获取时间的方法
2015/01/21 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
python中的错误处理
2016/04/10 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
Python jieba库分词模式实例用法
2021/01/13 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
地理科学专业自荐信
2014/09/01 职场文书
车贷收入证明范本
2014/09/14 职场文书
英文商务邀请函范文
2015/01/31 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers