在 Vue 中使用分页

在 Vue 中使用分页

分页功能通过允许用户以较小的块或页面可视化数据来增强用户体验。 下面介绍如何创建带分页的 Vue.js 组件,以便我们一次只能查看部分数据。

我将首先在我们的 JavaScript 对象中逐一进行分析,然后显示模板。

我唯一需要的本地数据是页码。

data(){    return {      pageNumber: 0  // default to page 0    }}

登录后复制

对于 props 来说,数据是必要的,另外我还定义了 size 这个参数来保存每一页数据的数量的最大值。

立即学习“前端免费学习笔记(深入)”;

props:{    listData:{      type:Array,      required:true    },    size:{      type:Number,      required:false,      default: 10    }}

登录后复制

在 methods 中,我定义了下一页和上一页的两个方法:

methods:{      nextPage(){         this.pageNumber++;      },      prevPage(){        this.pageNumber--;      }}

登录后复制

我使用计算属性值来计算一共有多少页:

pageCount(){      let l = this.listData.length,          s = this.size;      return Math.floor(l/s);}

登录后复制

paginatedData 就是获取过滤后的数据的计算属性:

paginatedData(){    const start = this.pageNumber * this.size,          end = start + this.size;     return this.listData.slice(start, end);}

登录后复制

修改:在一开始我使用 .splice 来复制数组,但更完美的做法是使用 .slice 方法,在这里感谢 Alexander Karelas。

在 template 中:

  
        
  •       {{p.first}}       {{p.last}}        {{p.suffix}}    
  •   
    

登录后复制

我希望在最开始或者最末尾阻止用户按下按钮,对于 prevPage 按钮,我加入了 :disabled=”pageNumber=0″ 而对于 nextPage 按钮,我加入 :disabled=”pageNumber >= pagecount -1″。

推荐教程:《JS教程》

以上就是在 Vue 中使用分页的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2728138.html

(0)
上一篇 2025年3月7日 23:53:05
下一篇 2025年3月7日 23:53:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 这 10 个技巧让你更好的成为 Vue 开发者

    简介 我比较喜欢使用 Vue 来开发,所以有时会深入研究其功能和特性。 通过这篇文章,向你们介绍十个很酷的窍门和技巧,以帮助大家成为更好的 Vue 开发者。 插槽语法更漂亮 随着Vue 2.6的推出,已经引入了插槽的简写方式,之前简写可用于…

    2025年3月7日 编程技术
    200
  • 分享5种JS字符串转数字的方法

    JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! 本文介绍一下JavaScript字符串转数字的5种方法及其陷阱,希望对大家有所帮助。 String 转换为 Number 有很多种方式,我可以想到的有 5 …

    2025年3月7日
    200
  • JS如何给下拉框设置默认值?

    JS如何给下拉框设置默认值? 首创建一个标准的HTML5文档; nbsp;html>            Document     登录后复制 然后在文档里添加一个下拉框;         User 1        User 2 …

    2025年3月7日
    200
  • js如何大小写转换?

    js如何大小写转换? js字母大小写转换方法: 1、转换成大写:toUpperCase() 2、转换成小写:toLowerCase() 3、举例: 示例一: var a=”aBcD”;a=a.toUpperCase();alert(a); …

    2025年3月7日
    200
  • js什么意思

    js什么意思: JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。 虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动…

    2025年3月7日
    200
  • js简单上传图片预览功能的实例详解

    js简单上传图片预览功能-简单粗暴 js简单上传图片预览功能 nbsp;html>js简单上传图片预览功能请选择图片文件:JPG/GIF 登录后复制 $(“#file0”).change(function(){…

    2025年3月7日
    200
  • 详解使用Minify压缩css和js文件

    如何使用Minify压缩css和js文件 Minify 是用PHP5开发的应用,通过遵循一些Yahoo的优化规则来提高网站的性能。它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏览器…

    2025年3月7日
    100
  • 直击JS,Jquery获取屏幕的宽度和高度代码

    JS,Jquery获取屏幕的宽度和高度代码 JS,Jquery获取屏幕的宽度和高度代码,获取的方法有很多种,但不管多少总,大致的内置函数还是那几个,现在就简单罗列出来。 javascript获取屏幕的宽度和高度代码   网页可见区域宽: d…

    2025年3月7日
    200
  • Vue 动态加载 Vuex

                                                            Vuex 是用来处理状态管理的高性能解决方案。它使管理大型 Vue.js 变得更轻松,并通过暴露出来的 store 使得状态变得…

    2025年3月7日
    200
  • 箭头函数的理解

    曾经我觉得我自己已经很了解箭头函数了,不可能再被坑了。可是前几天我遇到了一个很奇怪的问题,在苦恼了很久后,发现就是箭头函数带来的坑。因此,就有了这一篇文章~ 问题描述 比如我有一个基类 Animal,它有一个基础方法 sayName。之后每…

    2025年3月7日
    200

发表回复

登录后才能评论