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 相关文章推荐
Js+Flash实现访问剪切板操作
Nov 20 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
扩展JS Date对象时间格式化功能的小例子
Dec 02 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
javascript原型链学习记录之继承实现方式分析
May 01 Javascript
浅谈Express.js解析Post数据类型的正确姿势
May 30 Javascript
javaScript把其它类型转换为Number类型
Oct 13 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
第五节 克隆 [5]
2006/10/09 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
获取远程文件大小的php函数
2010/01/11 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
vue如何引用其他组件(css和js)
2017/04/13 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
python结合API实现即时天气信息
2016/01/19 Python
使用Python对MySQL数据操作
2017/04/06 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
通过实例解析python and和or使用方法
2020/11/14 Python
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
两只小狮子教学反思
2014/02/05 职场文书
班级活动策划书
2014/02/06 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js