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 ajax 登录验证实现代码
Sep 23 Javascript
Javascript延迟执行实现方法(setTimeout)
Dec 30 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
Sep 29 Javascript
javascript打印输出json实例
Nov 11 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
jquery淡入淡出效果简单实例
Jan 14 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
Aug 05 Javascript
利用JS轻松实现获取表单数据
Dec 06 Javascript
详解jQuery的表单验证插件--Validation
Dec 21 Javascript
js获取css的各种样式并且设置他们的方法
Aug 22 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
May 20 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
将查询条件的input、select清空
2014/01/14 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
Javascript中的几种继承方式对比分析
2016/03/22 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
Vue计算属性的使用
2017/08/04 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
浅谈Node异步编程的机制
2017/10/18 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
python3抓取中文网页的方法
2015/07/28 Python
Django返回json数据用法示例
2016/09/18 Python
Python模块文件结构代码详解
2018/02/03 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
暑假家长评语大全
2014/04/17 职场文书
音乐学专业求职信
2014/07/22 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
小学入学感言
2015/08/01 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
不要在HTML中滥用div
2021/05/08 HTML / CSS