利用VUE框架,实现列表分页功能示例代码
发布时间 - 2026-01-10 22:29:13 点击率:次先来看一下效果图:

功能描述:
1. 点击页面序号跳转到相应页面;
2. 点击单左/单右,向后/向前跳转一个页面;
3. 点击双左/双右,直接跳转到最后一页/第一页;
4. 一次显示当前页面的前三个与后三个页面;
5. 始终显示最后一个页面;
HTML:
<!-- 分页开始 -->
<div class="u-pages" style="margin-bottom:20px; margin-top:10px;">
<ul>
<li v-if="showPre" class="crt"><a v-on:click="jumpFirst(cur)"> << </a></li>
<li v-if="showPre" class="crt"><a v-on:click="minus(cur)"> < </a></li>
<template v-for="index in indexs" >
<li class="{{classRenderer(index)}}">
<a v-on:click="btnClick(index)" >{{index}}</a>
</li>
</template>
<li v-if="showMoreTail" class="crt">..</li>
<li class="{{classRenderer(pageNo)}}"><a @click="btnClick(pageNo)">{{pageNo}}</a></li>
<li v-if="showTail" class="crt"><a v-on:click="plus(cur)">></a></li>
<li v-if="showTail" class="crt"><a v-on:click="jumpTail(cur)">>></a></li>
</ul>
</div>
<!-- 分页结束 -->
HTML方法分析:
1、
<li class="{{classRenderer(index)}}">
classRenderer()方法实现了当点击页面索引是,点击页面获得选中效果
2、
<a v-on:click="btnClick(index)" >{{index}}</a>
btnClick()方法,实现了点击页面索引,跳转到相应页面
showPre showTail
showPre控制跳转到第一页与跳转到前一页的按钮的显示与消除
showTail控制跳转到最后一页与跳转到后一页的按钮的显示与消除
cur
记录当前页序号
jumpFirst(cur) minus(cur) plus(cur) jumpTail(cur)
实现按钮跳转功能
JS:
module.exports = {
data: function () {
return {
cur:1,
showTail:true,
showMorePre: false,
showMoreTail: false,
}
},
methods:{
jumpFirst:function(data){
var $this = this;
data = 1;
$this.cur = data;
if (data == 1 )
{
$this.$set("showPre", false);
}else
{
$this.$set("showPre", true);
}
$this.$am.ajax({
url:window.$ApiConf.api_order_detail_list,
type:'GET',
data:{start: 1},
success: function(data){
console.log(data);
$this.$set("records", data.record.records);
$this.$set("start", data.record.query.start);
$this.$set("total", data.record.query.total);
$this.$set("limit", data.record.query.limit);
}
})
$this.$set("showTail", true);
return data;
},
minus:function(data){
var $this = this;
data--;
$this.cur = data;
$this.$set("showTail", true);
if(data == 1){
$this.$set("showPre", false);
}else{
$this.$set("showPre", true);
}
$this.$am.ajax({
url:window.$ApiConf.api_order_detail_list,
type:'GET',
data:{start: 1 + $this.limit * (data-1) },
success:function(data){
console.log(data);
$this.$set("records", data.record.records);
$this.$set("start", data.record.query.start);
$this.$set("total", data.record.query.total);
$this.$set("limit", data.record.query.limit);
}
})
return data;
},
plus: function(data){
var $this = this;
data++;
$this.cur = data;
$this.$set("showPre", true);
if (data == $this.pageNo)
{
$this.$set("showTail", false);
}else
{
$this.$set("showTail", true);
}
$this.$am.ajax({
url:/* 这里写上你自己请求数据的路径 */,
type:'GET',
data:{start: 1 + $this.limit * (data-1) },
success:function(data){
console.log(data);
$this.$set("records", data.record.records);
$this.$set("start", data.record.query.start);
$this.$set("total", data.record.query.total);
$this.$set("limit", data.record.query.limit);
}
})
return data;
},
classRenderer:function(index){
var $this = this;
var cur = $this.cur;
if(index != cur){
return 'crt';
}
return '';
},
btnClick:function(data){
var $this = this;
if(data == 1){
$this.$set("showPre", false);
}else{
$this.$set("showPre", true);
}
if (data == $this.pageNo)
{
$this.$set("showTail", false);
}else
{
$this.$set("showTail", true);
}
if (data != $this.cur)
{
$this.cur = data;
$this.$am.ajax({
url:window.$ApiConf.api_order_detail_list,
type:'GET',
data:{start: 1 + $this.limit * (data-1) },
success:function(data){
console.log(data);
$this.$set("records", data.record.records);
$this.$set("start", data.record.query.start);
$this.$set("total", data.record.query.total);
$this.$set("limit", data.record.query.limit);
}
})
}
},
jumpTail:function(data){
var $this = this;
data = $this.pageNo;
$this.cur = data;
if (data == $this.pageNo)
{
$this.$set("showTail", false);
}else
{
$this.$set("showTail", true);
}
$this.$am.ajax({
url:window.$ApiConf.api_order_detail_list,
type:'GET',
data:{start: 1 + $this.limit * (data-1) },
success:function(data){
console.log(data);
$this.$set("records", data.record.records);
$this.$set("start", data.record.query.start);
$this.$set("total", data.record.query.total);
$this.$set("limit", data.record.query.limit);
}
})
$this.$set("showPre", true);
return data;
},
computed: {
//*********************分页开始******************************//
indexs: function(){
var $this = this;
var ar = [];
if ($this.cur > 3)
{
ar.push($this.cur - 3);
ar.push($this.cur - 2);
ar.push($this.cur - 1);
}else
{
for (var i = 1; i < $this.cur; i++)
{
ar.push(i);
}
}
if ($this.cur != $this.pageNo)
{
ar.push($this.cur);
}
if ( $this.cur < ( $this.pageNo - 3 ) )
{
ar.push($this.cur + 1);
ar.push($this.cur + 2);
ar.push($this.cur + 3);
if ( $this.cur < ( $this.pageNo - 4 ) )
{
$this.$set("showMoreTail", true);
}
}else
{
$this.$set("showMoreTail", false);
for (var i = ($this.cur + 1); i < $this.pageNo; i++)
{
ar.push(i);
}
}
return ar;
}
//*********************分页结束******************************//
}
}
JS功能分析:indexs用于记录一共有多少页面
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue.js实现分页
# vue
# 列表分页
# vue实现列表分页代码
# 前端框架Vue.js中Directive知识详解
# 前端框架Vue.js构建大型应用浅析
# angular
# avalon这三种MVVM框架优缺点
# Vue框架中正确引入JS库的方法介绍
# vue.js中mint-ui框架的使用方法
# 使用vue框架 Ajax获取数据列表并用BootStrap显示出来
# Vue2.0 UI框架ElementUI使用方法详解
# 前端框架学习总结之Angular、React与Vue的比较详解
# 基于Vuejs框架实现翻页组件
# 小白教程|一小时上手最流行的前端框架vue(推荐)
# 跳转到
# 分页
# 跳转
# 第一页
# 实现了
# 你自己
# 看一下
# 写上
# 先来
# 大家多多
# 当前页
# bottom
# margin
# px
# pages
# div
# gt
# style
# click
# crt
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php结合redis实现高并发下的抢购、秒杀功能的实例
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何快速启动建站代理加盟业务?
微信小程序 canvas开发实例及注意事项
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
如何用搬瓦工VPS快速搭建个人网站?
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
javascript读取文本节点方法小结
Laravel项目怎么部署到Linux_Laravel Nginx配置详解
Laravel集合Collection怎么用_Laravel集合常用函数详解
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
nginx修改上传文件大小限制的方法
高端建站如何打造兼具美学与转化的品牌官网?
如何在Windows服务器上快速搭建网站?
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
个人网站制作流程图片大全,个人网站如何注销?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
如何在Tomcat中配置并部署网站项目?
Android中AutoCompleteTextView自动提示
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
BootStrap整体框架之基础布局组件
Python图片处理进阶教程_Pillow滤镜与图像增强
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何在Ubuntu系统下快速搭建WordPress个人网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
javascript中对象的定义、使用以及对象和原型链操作小结
如何在建站之星网店版论坛获取技术支持?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Mybatis 中的insertOrUpdate操作
如何快速生成橙子建站落地页链接?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何选择PHP开源工具快速搭建网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
*服务器网站为何频现安全漏洞?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
IOS倒计时设置UIButton标题title的抖动问题
如何在IIS服务器上快速部署高效网站?
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Swift中swift中的switch 语句
如何获取PHP WAP自助建站系统源码?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?

