Vue分页页码栏设计

article/2025/10/22 13:05:00

Vue分页页码栏设计

  • 效果展示
  • HTML
  • 数据需要
  • 函数需要
  • 运用

效果展示

在这里插入图片描述

在这里插入图片描述

HTML

<div class="page_bar no-select"><ul class="clearfix"><li class="iconfont":class="{vh : currentPage === 1}"@click="subCurrentPage">&#xe660;</li><li :class="{vh : currentPage <= showPageNumCeil}">...</li><li v-for="item in showPageBarList":key="item.id":class="{current : item.id===currentPage}"@click="getCurrentPageNum(item.id)">{{item.id}}</li><li :class="{vh : currentPage >= pageNum - (showPageNum - showPageNumCeil)}">...</li><li class="iconfont":class="{vh : currentPage === pageNum}"@click="addCurrentPage">&#xe65f;</li></ul><input type="text"ref="ipt"v-model="iptValue">/{{pageNum}}<button @click="getInputCurrentPage()">跳转</button>
</div>

数据需要

data () {return {// 总的数据dataList: [],// 数据分组totalPage: [],// 当前显示的数据dataShow: [],// 每页显示数量pageSize: 3,// 总页数pageNum: 1,// 当前页,默认第一页currentPage: 1,// 页码列表pageBarList: [],// 显示出来的页码数showPageNum: 5,// 显示页码中间值showPageNumCeil: 0,// 当前显示的页码列表showPageBarList: [],// 输入页码iptValue: ''};
},

函数需要

methods: {// 分页初始化pageInit () {// 计算总页数this.pageNum = Math.ceil(this.dataList.length / this.pageSize) || 1// 数据分组this.getTotalPage()// 获取当前显示的数据this.getDataShow()// 生成页码列表this.getpageBarList()// 获取显示页码中间值this.getShowPageNumCeil()// 获取显示出来的页码列表this.getShowPageBarList()},// 获取总页数getPageNum () {this.pageNum = Math.ceil(this.dataList.length / this.pageSize) || 1},// 获取分组数据getTotalPage () {for (let i = 0; i < this.pageNum; i++) {this.totalPage[i] = this.dataList.slice(this.pageSize * i, this.pageSize * (i + 1))}},// 获取当前显示的数据getDataShow () {this.dataShow = this.totalPage[this.currentPage - 1]},// 获取页码列表getpageBarList () {for (var i = 1; i <= this.pageNum; i++) {var obj = {id: i,state: false}this.pageBarList[this.pageBarList.length] = obj}},//  获取显示页码中间值getShowPageNumCeil () {this.showPageNumCeil = Math.ceil(this.showPageNum / 2)},// 获取当前显示的页码列表getShowPageBarList () {if (this.currentPage <= this.showPageNumCeil) {// 前项列表this.showPageBarList = this.pageBarList.slice(0, this.showPageNum)} else if (this.currentPage >= this.pageNum - (this.showPageNum - this.showPageNumCeil)) {// 后项列表this.showPageBarList = this.pageBarList.slice(this.pageNum - this.showPageNum, this.pageNum)} else {// 其他this.showPageBarList = this.pageBarList.slice(this.currentPage - this.showPageNumCeil, this.currentPage + this.showPageNum - this.showPageNumCeil)}},// 点击跳转页码getCurrentPageNum (num) {this.currentPage = num},// 后退一页subCurrentPage () {this.currentPage--},// 前进一页addCurrentPage () {this.currentPage++},// 获取输入的页码getInputCurrentPage () {// 输入有误处理if (1 <= this.iptValue && this.iptValue <= this.pageNum) {this.currentPage = Number(this.iptValue)this.iptValue = ''} else {alert('请输入正确的页码')this.iptValue = ''}}},

运用

  watch: {//当前页变化时,重新获取显示的数据和显示的页码currentPage: {handler () {this.getDataShow()this.getShowPageBarList()},immediate: true,}},created () {this.pageInit()},

http://chatgpt.dhexx.cn/article/yUEivm3A.shtml

相关文章

超级详细:一个漂亮的Vue分页器组件的实现

整篇分两个部分&#xff1a; 思路部分&#xff1a;讲解怎么实现分页器组件【大把时间看-建议】 后面部分&#xff1a;按照步骤&#xff0c;直接引入组件【没有时间看-建议】 思路&#xff1a;基于连续页码进行判断 需要添加分页器的组件&#xff08;Search组件&#xff09;中…

vue实现分页vue分页查询怎么实现

效果图&#xff1a; 代码&#xff1a; 复制过去即可运行 <!DOCTYPE html> <html lang"en" xmlns:th"http://www.w3.org/1999/xhtml"> <head><meta charset"UTF-8"><title>Title</title><!-- <scrip…

vue分页单位设置为中文格式

根据我搭建前端项目时遇到的问题做一个记录&#xff0c;我下载了一个vue-element-admin前端项目demo&#xff0c;但是默认情况下此demo分页展示时为如下图所示&#xff1a; 遇到此种情况想要调整为中文显示时&#xff0c;如下中文显示案例&#xff1a; 此时需要修改demo项目中…

vue分页器的封装

1.需要注册为全局组件 //main.js // 封装分页器为全局组件 Vue.component(Pagination.name,Pagination); 2.父组件的使用分页器&#xff0c;需要传递相应的参数和自定义事件 <Pagination :pageNo"searchParam.pageNo" :pageSize"searchParam.pageSize"…

django与vue分页

后端django进行自定义分页 1.编写自定义配置文件 from rest_framework.pagination import LimitOffsetPaginationclass LimitPagination(LimitOffsetPagination):max_limit 2 # 最大limit限制&#xff0c;默认Nonedefault_limit 2 # 默认限制&#xff0c;和page_size作用…

Django+vue 分页展示

这里提供两种分页方法 一种是手写分页,不常用,但是明白一下分页的逻辑实现 第二种是用heyui提供的组件.很多功能都给封装好了,用起来也比较美观. 手写分页 后端接口 class GoodList(APIView):def get(self, request):# 当前页page int(request.GET.get(page, 1))# 一页有多…

Vue分页及页码跳转

效果如下&#xff1a; HTML&#xff1a; <ul class"page f16 tc mt30"> <li> <span v-if"page > 1"><b click"page--,pageClick()">上一页</b></span> <span v-if"page 1">上一页<…

VUE分页出现省略号

VUE分页出现省略号 废话不多说直接上代码 calcPageNum() {let pageTotal Math.ceil(this.total / this.limit); //获取最大页码数let cur this.currentPage;//获取当前页码数if (pageTotal < 7) {//判断什么时候正常显示return Math.ceil(this.total / this.limit);} els…

vue 分页表格数据导出

vue分页表格数据导出功能&#xff0c;超简单&#xff01;不用安装不用引入 写个方法即可实现 //导出exportExcel() {let url "/VueDemo/api/record/export.htm"; //这里写后台给的接口&#xff0c;注意反向代理也要写上&#xff01;VueDemo是我这边的反向代理url …

vue分页功能Bug

今天分页功能报错了&#xff0c;报错是这样报错的 看代码 <pagination v-show"adminTotal>0":total"adminTotal":page.sync"adminParams.pageNum":limit.sync"adminParams.pageSize"pagination"getAdminListPage" /&…

vue 分页

分页效果实现 思路&#xff1a; 1.每页显示的数量 2.当前页数 3,总页数 , 总页数放在computed中计算 放在页面 splice截取数组元素 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&qu…

vue分页列表

html部分 css部分 js部分

Vue 怎样实现分页功能

文章目录 数据获取分页器实现页面渲染总结 Vue是一款流行的前端框架&#xff0c;它提供了丰富的API和组件&#xff0c;可以帮助开发者快速地构建现代化的Web应用程序。在Web应用程序中&#xff0c;分页功能是一个非常常见的需求&#xff0c;它可以帮助用户快速地浏览和查找大量…

使用vue实现分页

效果如上图&#xff0c;第一页显示5行数据 HTML代码如下 <footer class"col-sm-12 footerbox navbar-fixed-bottom"><div class"row"><div class"col-sm-12"><a class"btn btn-default" href"#" role…

【VUE项目实战】24、分页效果实现

接上篇《23、改造状态列的显示效果》 上一篇我们实现了状态列的显示效果以及插槽形式定义操作列的渲染&#xff0c;本篇我们来实现用户列表的分页效果。我们要在用户数据列表的左下方加入一个分页组件&#xff1a; Element-UI为我们提供了“Pagination分页”组件&#xff0c;我…

计算机oj平台搭建应该学什么,青岛大学开源OJ平台搭建

源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/tree/2.0 一、安装所依赖的环境 sudo apt-get update && sudo apt-get install -y vim python-pip curl git sudo apt-get install docker-compose…

JavaWeb 项目 --- 在线 OJ 平台 (三)

文章目录 1. 设计网页页面1.1 列表页1.2 详情页 2. 设计网页的前后端交互接口约定交互1: 获取题目的列表约定交互2: 获取指定题目的详情信息约定交互3: 向服务器提交编写的代码 3. 服务器的API3.1 导入 JackSon 库3.2 创建 ProblemServlet 类3.3 测试 ProblemServlet 类3.4 创建…

华为oj题目c语言,【华为OJ平台习题】

【华为OJ平台练习题】 /* 描述: 输入整型数组和排序标识&#xff0c;对其元素按照升序或降序进行排序 接口说明 原型&#xff1a; void sortIntegerArray(Integer[] pIntegerArray, int iSortFlag); 输入参数&#xff1a; Integer[] pIntegerArray&#xff1a;整型数组 int iSo…

HUSTOJ平台的搭建

HUSTOJ平台的搭建 首先&#xff0c;你要有一个服务器&#xff0c;本次记录的是阿里云Ubuntu18.04平台下的搭建 搭建LAMP环境(LAMP指的Linux&#xff08;操作系统&#xff09;、ApacheHTTP 服务器&#xff0c;MySQL&#xff08;有时也指MariaDB&#xff0c;数据库软件&#xff…

搭建学校oj平台-创建项目

创建项目 创建git 在gitee创建仓库 同步本地 云端本地成功 创建数据库&#xff08;学习mysql常用操作&#xff09; 连接用户名为root创建OJ数据库create database OJ;使用数据库OJuse OJ 创建后端项目 使用idea创建SpringBoot项目 选择Spring Initialize 创建项目 选择版…