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的Theme和Theme Switcher使用小结
Sep 08 Javascript
javascript使用eval或者new Function进行语法检查
Oct 16 Javascript
我的javascript 函数链之演变
Apr 07 Javascript
用js实现in_array的方法
Nov 05 Javascript
JS实现匀速运动的代码实例
Nov 29 Javascript
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
原生JavaScript实现瀑布流布局
Jun 28 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
vue 组件开发原理与实现方法详解
Nov 29 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
Aug 20 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
Oct 24 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 404错误页面实现代码
2009/06/22 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
ReactNative中使用Redux架构总结
2017/12/15 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python 序列的方法总结
2016/10/18 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Django 迁移、操作数据库的方法
2019/08/02 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
Python如何合并多个字典或映射
2020/07/24 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
中学教师岗位职责
2013/11/26 职场文书
就业自荐信
2013/12/04 职场文书
触摸春天教学反思
2014/02/03 职场文书
校园标语大全
2014/06/19 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
办公室禁烟通知
2015/04/23 职场文书
电视新闻稿
2015/07/17 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
python全面解析接口返回数据
2022/02/12 Python