1.前端后台管理会存在很多表格,表格数据过多就需要分页;
2.前端交互每次搜索如果都请求服务器会加大服务器的压力,所以在数据量不是很大的情况下可以一次性将数据返回,前端做检索
3.下面贴上一个demo


<template>
<div><el-input v-model="tableDataName" placeholder="请输入姓名" style="width:240px"></el-input><el-button type="primary" @click="doFilter">搜索</el-button><el-button type="primary" @click="openData">展示数据</el-button><el-table:data="tableDataEnd"borderstyle="width: 100%"><el-table-columnprop="date"label="日期"width="180"></el-table-column><el-table-columnprop="name"label="姓名"width="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column></el-table><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-sizes="[1, 2, 3, 4]":page-size="pageSize"layout="total, sizes, prev, pager, next, jumper":total="totalItems"></el-pagination>
</div>
</template><script>
export default {data() {return {tableDataBegin: [{date: "2016-05-01",name: "王小虎",address: "上海市普陀区金沙江路 1518 弄"},{date: "2016-05-02",name: "王小虎",address: "上海市普陀区金沙江路 1517 弄"},{date: "2016-05-03",name: "王二虎",address: "上海市普陀区金沙江路 1519 弄"},{date: "2016-05-04",name: "王二虎",address: "上海市普陀区金沙江路 1516 弄"},{date: "2016-05-05",name: "王三虎",address: "上海市普陀区金沙江路 1518 弄"},{date: "2016-05-06",name: "王三虎",address: "上海市普陀区金沙江路 1517 弄"},{date: "2016-05-07",name: "王小虎",address: "上海市普陀区金沙江路 1519 弄"},{date: "2016-05-08",name: "王小虎",address: "上海市普陀区金沙江路 1516 弄"}],tableDataName: "",tableDataEnd: [],currentPage: 4,pageSize: 2,totalItems: 0,filterTableDataEnd:[],flag:false};},created() {this.totalItems = this.tableDataBegin.length;if (this.totalItems > this.pageSize) {for (let index = 0; index < this.pageSize; index++) {this.tableDataEnd.push(this.tableDataBegin[index]);}} else {this.tableDataEnd = this.tableDataBegin;}},methods: {//前端搜索功能需要区分是否检索,因为对应的字段的索引不同//用两个变量接收currentChangePage函数的参数doFilter() {if (this.tableDataName == "") {this.$message.warning("查询条件不能为空!");return;}this.tableDataEnd = []//每次手动将数据置空,因为会出现多次点击搜索情况this.filterTableDataEnd=[]this.tableDataBegin.forEach((value, index) => {if(value.name){if(value.name.indexOf(this.tableDataName)>=0){this.filterTableDataEnd.push(value)}}});//页面数据改变重新统计数据数量和当前页this.currentPage=1this.totalItems=this.filterTableDataEnd.length//渲染表格,根据值this.currentChangePage(this.filterTableDataEnd)//页面初始化数据需要判断是否检索过this.flag=true},openData() {},handleSizeChange(val) {console.log(`每页 ${val} 条`);this.pageSize = val;this.handleCurrentChange(this.currentPage);},handleCurrentChange(val) {console.log(`当前页: ${val}`);this.currentPage = val;//需要判断是否检索if(!this.flag){this.currentChangePage(this.tableDataEnd)}else{this.currentChangePage(this.filterTableDataEnd)      }}, //组件自带监控当前页码currentChangePage(list) {let from = (this.currentPage - 1) * this.pageSize;let to = this.currentPage * this.pageSize;this.tableDataEnd = [];for (; from < to; from++) {if (list[from]) {this.tableDataEnd.push(list[from]);}}}}
};
</script>

vue+element的表格分页和前端搜索相关推荐

  1. Vue + Element UI 表格分页记忆选中,分页切换 页面打勾不丢失

    方法一: 官方也有基于这种操作给出通过属性解决的方法: <el-table :row-key="rowKey"><el-table-column type=&qu ...

  2. Vue + Element UI 表格分页记忆选中

    官方基于这种操作给出通过属性解决的方法: :row-key:行数据的 Key ,用来优化 Table 的渲染:在使用 reserve-selection 功能与显示树形数据时,该属性是必填的.类型为 ...

  3. vue element el-table 表格搜索 搜索表格内容关键字标红 关键字高亮显示

    vue element el-table 表格搜索 搜索表格内容关键字标红 关键字高亮显示 最近公司项目需求,搜索表格的内容,并且需要搜索的关键字高亮显示(关键字标红),如图所示最终效果: 1.在需要 ...

  4. Vue+ElementUI table表格分页

    Vue+ElementUI table表格分页 分页的两种方式.前端分页,后端分页.两种方式各有个的优缺点吧. 前端分页:后台只需将数据返回,不需要做过多处理,前端一次请求拿到所有数据后做分页处理.但 ...

  5. 基于Vue.js的表格分页组件

    转载自 基于Vue.js的表格分页组件 有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫Bo ...

  6. vue element计算表格合计问题

    vue element计算表格合计问题 问题:当表格的el-table-column标签下的属性prop属性值为'对象.属性'时,将不能自动合计. 例如: <el-tableborderv-lo ...

  7. vue element el-table表格勾选求和 el-table 勾选获取表格某几列数据求和

    vue element el-table 表格勾选获取几列数据求和 el-table表格勾选求和 先看案例如下图所示:el-table 勾选后求出支付金额数据,计算出总金额数据. 我们来一步步分析方便 ...

  8. Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容)

    Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容) 能够解决的问题 需要在表格中添加一个类似修改或编辑的按钮,按下按钮,弹出的窗口需要本行的渲染数据 需要向服务端提交一 ...

  9. vue php 分页组件,基于Vue.js的表格分页组件

    有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage.不了解Vue.js的童鞋可 ...

  10. vue根据表格分页,前端实现方法

    html: <el-table:data="tableData.slice((curPage-1)*pagesize,curPage*pagesize)"borderstyl ...

最新文章

  1. (转)Sublime Text2 快捷键汇总
  2. 【数据安全案例】北京破获贩卖个人信息案 涉及上千万条公民信息
  3. 众说纷纭office2010系列
  4. Collection接口的常用方法
  5. jsr 107_如何使用JSR107缓存注释
  6. Gartner:CIO需破解建立数字化领导力的四大障碍
  7. Linux工作笔记038---CentOS8.2安装Nginx_测试通过
  8. Alexa市场占有率分析:Compute、CDN、DNS
  9. 关于无序分类变量量化的处理思考
  10. MEncoder的基础用法—6.2. 选择输入文件或设备
  11. 三个精致的钢琴音源 Native Instruments Definitive Piano Collection
  12. 前端和后端开发人员比例_前端和后端开发人员应该结交朋友
  13. 思科二层交换机系列------设备更换详细配置命令
  14. HBase Muti-Master
  15. Android科大讯飞语音按队列播报
  16. 通过 adb 设置音量
  17. 警告标志:警告车辆、行人注意危险地点的标志
  18. 【玩转Jetson TX2 NX】(七)TX2 NX YoLoV4环境搭建+板载摄像头实时目标检测(详细教程+错误解决)
  19. 解码Base64并展示图片
  20. 斗鱼主播查询易语言代码

热门文章

  1. The Greatest C++ project
  2. hadoop Context类
  3. gis投影中未定义的地理转换_PhotoScan中经纬度转换为投影坐标快捷方法
  4. 协方差矩阵、相关矩阵的详细说明
  5. windows批量重命名
  6. 算法笔记-二分查找和二分答案
  7. 524.通过删除字母匹配到字典里最长的单词(力扣leetcode) 博主可答疑该问题
  8. c语言输出杨辉三角漏斗,for循环输出漏斗的形状【java】
  9. 20190613 一个SQL问题
  10. Dijkstra及其堆优化