美文网首页
手动封装分页组件(Vue3)

手动封装分页组件(Vue3)

作者: 沃德麻鸭 | 来源:发表于2021-09-28 11:43 被阅读0次

分页组件模板结构

模板 js

思路分析:

1.准备参数

①总页数=总条数/每页显示条数  整体向上取整

②当前页码是由父组件传递的属性值,默认值为1

数据准备

2.动态计算页码列表------这里用到了计算属性computed

 所有的判断条件是为了让中间按钮除了前两页和最后两页外,都是选中状态

①只显示5个页码、一个上一页按钮、一个下一页按钮

显示效果

总页码小于等于5的情况

这是总页码数小于5的情况

②总页码数大于5时,有三种情况

前五页正常显示,此时展示右边的省略号,如下:

pages>5的第一页分页效果

总页码大于5的情况并且是第一页数据

总页码大于5且是第一页的情况

最后五页的显示状态如下:

pages>5的最后一页效果

右侧临界值,让i从倒数第四页开始循环,页码小于等于总页码数,每次+1

右侧临界值

中间批次的页码永远都是中间页码被选中,前后都有省略号

中间状态

让i从当前页码的前两页开始循环,循环到当前页码的后两页

中间状态

3.控制上一页和下一页变化

给按钮绑定changePage事件,传入参数,如果参数为false,那么就是点击了上一页,true就是下一页,item就是页码

①点击上一页按钮

如果已经是第一页,那么就不能再点击上一页按钮,也就是要禁用上一页按钮,如图所示:

按钮禁用

点击上一页,参数为false,如果当前页码为1,直接return,如果大于1,那么就每点击一次让页码减一

上一页

②下一页按钮和上一页按钮同理

下一页

③如果是其它(页码),那么就直接将参数赋值给当前页这个变量

④最终将变量通过自定义事件,传递给父组件,让父组件利用这个参数调用接口,重新发起请求获取数据并渲染页面。

相关文章

  • 手动封装分页组件(Vue3)

    分页组件模板结构 思路分析: 1.准备参数 ①总页数=总条数/每页显示条数 整体向上取整 ②当前页码是由父组件传递...

  • vue3 中对 dialog 封装

    vue3 中对 dialog 封装 子组件 父组件

  • 手动封装轮播图组件(Vue3)

    我们都知道,轮播图组件模板结构通常是ul包裹li的结构,在vue中,li的数量也通常是由后端接口返回的数据决定。所...

  • 封装分页组件

    封装分页组件:https://github.com/liuyunzhuge/blog/blob/master/fo...

  • ionic2自定义分页——浅谈

    分页组件是非常常用的一个功能,所以需要封装成一个公共组件,方便调用,自定义分页封装详情请到http://www.j...

  • elementUi之分页组件的简单封装

    因elementUi分页封装成单独组件当前页存在bug,没有在父组件设置当前页。 如有需要可在分页组件单独设置 在...

  • vue项目 使用elementui中的el-pagination

    1.封装代码 2.全局注册分页组件 3.使用

  • 手动封装面包屑组件(Vue3)

    封装组件的js代码 (BreadItem里面就是放了一个可以点击的链接,分为两种情况,可以跳转和不可以跳转,如果有...

  • Vite打包组件库

    动机 去年使用vue3 + TSX封装组件,结果卡在了打包上,直到最近发现,vite提供了tsx的打包插件。 组件...

  • vue封装分页组件

    需求 前台页面,只显示上一页下一页,总页数和当前页在另外一个地方显示,所以只需要封装上一页下一页的功能。上一页下一...

网友评论

      本文标题:手动封装分页组件(Vue3)

      本文链接:https://www.haomeiwen.com/subject/ghtcnltx.html