Vue.js+bootstrap前端怎么实现分页和排序
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍"Vue.js+bootstrap前端怎么实现分页和排序"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Vue.js+bootstrap前端怎么
千家信息网最后更新 2025年02月05日Vue.js+bootstrap前端怎么实现分页和排序
这篇文章主要介绍"Vue.js+bootstrap前端怎么实现分页和排序"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Vue.js+bootstrap前端怎么实现分页和排序"文章能帮助大家解决问题。
效果图:
语法:
数据绑定 {{...}}或者v-model
{{dataItem.id}}
事件绑定 v-on
ID
循环 v-for
判断 v-if
首页
过滤器 Vue.filter
//定义Vue.filter( 'name' , function(value) { return value * .5 ; });//使用{{dataItem.age | name}}
排序orderBy
{{dataItem.id}} {{dataItem.name}} {{dataItem.age}}
html
数据
ID 姓名 年龄 {{dataItem.id}} {{dataItem.name}} {{dataItem.age}} 分页首页 上一页 {{item}} ... {{item}} ... {{item}} 下一页 尾页 {{pageCurrent}}/{{pageCount}}
javascript
//只能输入正整数过滤器 Vue.filter('onlyNumeric', { // model -> view // 在更新 `` 元素之前格式化值 read: function (val) { return val; }, // view -> model // 在写回数据之前格式化值 write: function (val, oldVal) { var number = +val.replace(/[^\d]/g, '') return isNaN(number) ? 1 : parseFloat(number.toFixed(2)) } }) //模拟获取数据 var getData=function(){ var result = []; for (var i = 0; i < 500; i++) { result[i] ={name:'test'+i,id:i,age:(Math.random()*100).toFixed()}; } return result; } var vue = new Vue({ el: "#test", //加载完成后执行 ready:function(){ this.arrayDataAll = getData(); this.totalCount = this.arrayDataAll.length; this.showPage(this.pageCurrent, null, true); }, data: { //总项目数 totalCount: 200, //分页数 arrPageSize:[10,20,30,40], //当前分页数 pageCount: 20, //当前页面 pageCurrent: 1, //分页大小 pagesize: 10, //显示分页按钮数 showPages: 11, //开始显示的分页按钮 showPagesStart: 1, //结束显示的分页按钮 showPageEnd: 100, //所有数据 arrayDataAll:[], //分页数据 arrayData: [], //排序字段 sortparam:"", //排序方式 sorttype:1, }, methods: { //分页方法 showPage: function (pageIndex, $event, forceRefresh) { if (pageIndex > 0) { if (pageIndex > this.pageCount) { pageIndex = this.pageCount; } //判断数据是否需要更新 var currentPageCount = Math.ceil(this.totalCount / this.pagesize); if (currentPageCount != this.pageCount) { pageIndex = 1; this.pageCount = currentPageCount; } else if (this.pageCurrent == pageIndex && currentPageCount == this.pageCount && typeof (forceRefresh) == "undefined") { console.log("not refresh"); return; } //处理分页点中样式 var buttons = $("#pager").find("span"); for (var i = 0; i < buttons.length; i++) { if (buttons.eq(i).html() != pageIndex) { buttons.eq(i).removeClass("active"); } else { buttons.eq(i).addClass("active"); } } //从所有数据中取分页数据 var newPageInfo = []; for (var i = 0; i < this.pagesize; i++) { var index =i+(pageIndex-1)*this.pagesize; if(index>this.totalCount-1)break; newPageInfo[newPageInfo.length] = this.arrayDataAll[index]; } this.pageCurrent = pageIndex; this.arrayData = newPageInfo; //计算分页按钮数据 if (this.pageCount > this.showPages) { if (pageIndex <= (this.showPages - 1) / 2) { this.showPagesStart = 1; this.showPageEnd = this.showPages - 1; console.log("showPage1") } else if (pageIndex >= this.pageCount - (this.showPages - 3) / 2) { this.showPagesStart = this.pageCount - this.showPages + 2; this.showPageEnd = this.pageCount; console.log("showPage2") } else { console.log("showPage3") this.showPagesStart = pageIndex - (this.showPages - 3) / 2; this.showPageEnd = pageIndex + (this.showPages - 3) / 2; } } } //排序 },sortBy: function (sortparam) { this.sortparam = sortparam; this.sorttype = this.sorttype == -1 ? 1 : -1; } } });
关于"Vue.js+bootstrap前端怎么实现分页和排序"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
数据
排序
前端
知识
更新
格式
行业
过滤器
首页
不同
实用
事件
元素
内容
姓名
实用性
实际
年龄
按钮
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全框架完整版
网络技术等级证明
2021下半年网络安全基金
网络安全专业西电和北邮
服务器做pi节点
服务器启动提示不能启动cpu
宽带服务器租用
软件开发竞争力大吗
法治离不开网络技术
新世纪网络技术
网络安全方案怎么变白
网络安全设计技术
区块链数据库大小对比
c 编写数据库建表工具
手机一直连不上中信证券的服务器
陵川微软网络技术
火箭军计算机网络技术是干啥的
文件服务器的权限设置
公司内部文件数据库建立
僵尸毁灭工程有的服务器
互联网科技狂人
古风网络安全手抄报五年级
数据库怎么建立主键索引
大数据网络安全日常生活应用
放置江湖哪个服务器好
使命召唤猿天刚服务器测评
三级网络技术彩虹ping
电脑专长硬件及网络技术
江苏宿迁网络技术学校
计算机网络技术主要考些什么