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 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
优化javascript的执行效率一些方法总结
Dec 25 Javascript
js+jquery实现图片裁剪功能
Jan 02 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
Jun 24 Javascript
基于JS实现EOS隐藏错误提示层代码
Apr 25 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
Dec 24 Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 Javascript
JavaScript时间戳与时间日期间相互转换
Dec 11 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
Apr 17 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根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
Python编程之多态用法实例详解
2015/05/19 Python
Python 中 Meta Classes详解
2016/02/13 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
python实现加密的方式总结
2020/01/19 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
优秀研究生自我鉴定
2013/12/04 职场文书
难忘的一天教学反思
2014/04/30 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
高三英语教学计划
2015/01/23 职场文书
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL