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 offsetX与layerX区别
Mar 12 Javascript
JQuery实现鼠标滑过显示导航下拉列表
Sep 12 Javascript
jQuery中:reset选择器用法实例
Jan 04 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
Mar 28 Javascript
Web前端开发之水印、图片验证码
Nov 27 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
关于Bootstrap按钮组件消除黄框的方法
May 19 Javascript
使用vue制作FullPage页面滚动效果
Aug 21 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
vue计算属性及使用详解
Apr 02 Javascript
Angular8 实现table表格表头固定效果
Jan 03 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
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php教程之phpize使用方法
2014/02/12 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
一套C#面试题
2013/10/09 面试题
护理自我鉴定范文
2013/10/06 职场文书
优秀的茶餐厅创业计划书
2014/01/03 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
少儿节目主持串词
2014/04/02 职场文书
房屋买卖协议书
2014/04/10 职场文书
希特勒的演讲稿
2014/05/23 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
地震慰问信
2015/02/14 职场文书
检察院起诉意见书
2015/05/20 职场文书
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python