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 相关文章推荐
表格 隔行换色升级版
Nov 07 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
JavaScript中的全局对象介绍
Jan 01 Javascript
javascript学习笔记之函数定义
Jun 25 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
JavaScript函数定义方法实例详解
Mar 05 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
微信公众号网页分享功能开发的示例代码
May 27 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
Vue ECharts实现机舱座位选择展示功能
May 15 Vue.js
小程序实现侧滑删除功能
Jun 25 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 mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
asp.net和php的区别点总结
2019/10/10 PHP
JavaScript版代码高亮
2006/06/26 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
JS中的BOM应用
2018/02/02 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
Vue基础配置讲解
2019/11/29 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Python命名空间namespace及作用域原理解析
2020/06/05 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
团员个人年度总结
2015/02/26 职场文书
质量保证书怎么写
2015/02/27 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
致运动员加油稿
2015/07/21 职场文书