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点击tr实现checkbox选中的方法
Mar 19 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
深入分析jsonp协议原理
Sep 26 Javascript
AngularJs Modules详解及示例代码
Sep 01 Javascript
JS实现页面载入时随机显示图片效果
Sep 07 Javascript
js本地图片预览实现代码
Oct 09 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
Vue自定义指令写法与个人理解
Feb 09 Javascript
vue实现二级导航栏效果
Oct 19 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
Aug 20 Javascript
Javascript实现单选框效果
Dec 09 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个人网站架设连环讲(三)
2006/10/09 PHP
PHP 表单提交给自己
2008/07/24 PHP
php正则表达式(regar expression)
2011/09/10 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
浅析php学习的路线图
2013/07/10 PHP
CentOS安装php v8js教程
2015/02/26 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
javascript 动态创建表格
2015/01/08 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
2018/05/02 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
微信小程序实现无限滚动列表
2020/05/29 Javascript
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
python实现人机猜拳小游戏
2020/02/03 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
班班通项目实施方案
2014/02/25 职场文书
高三家长寄语
2014/04/03 职场文书
《火烧云》教学反思
2014/04/12 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
先进个人评语大全
2015/01/04 职场文书
格林童话读书笔记
2015/06/30 职场文书
2016春季小学开学寄语
2015/12/03 职场文书