本文实例为大家分享了vue+Element-ui前端实现分页效果的具体代码,供大家参考,具体内容如下

分页技术

分页技术的概念

分页就是将所有的数据分段展示给用户,用户看到的可能不是全部的数据,而是其中一部分,用户可以通过点击页码来查找自己需要的内容,也可以通过模糊查询获取符合内容的数据

分页的意义

分页确实有效,但它一定会加大系统的复杂度,但可否不分页呢"color: #800000">前端实现分页效果

在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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
vue,Element,ui,分页

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“vue+Element-ui前端实现分页效果”

暂无“vue+Element-ui前端实现分页效果”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。