用react写一个分页组件的示例

本文主要和大家介绍用react来写一个分页组件(小结),希望能帮助大家学会用react来写一个分页组件,下面我们一起来学习一下吧。

效果截图(样式可自行修改):

用react写一个分页组件的示例

构建项目

create-react-app react-paging-component

登录后复制

分页组件

1.子组件

创建 Pagecomponent.js 文件

核心代码:

初始化值

 constructor(props) {    super(props)    this.state = {      currentPage: 1, //当前页码      groupCount: 5, //页码分组,显示7个页码,其余用省略号显示      startPage: 1, //分组开始页码      totalPage:1 //总页数    }  }

登录后复制

动态生成页码函数

createPage() {    const {currentPage, groupCount, startPage,totalPage} = this.state;    let pages = []    //上一页    pages.push(

登录后复制      上一页)    if (totalPage {i})      }    } else {      /*总页码大于10时,部分显示*/      //第一页      pages.push(1)      let pageLength = 0;      if (groupCount + startPage > totalPage) {        pageLength = totalPage      } else {        pageLength = groupCount + startPage;      }      //前面省略号(当当前页码比分组的页码大时显示省略号)      if (currentPage >= groupCount) {        pages.push(···)      }      //非第一页和最后一页显示      for (let i = startPage; i  1) {          pages.push({i})        }      }      //后面省略号      if (totalPage – startPage >= groupCount + 1) {        pages.push(···)      }      //最后一页      pages.push({totalPage})    }    //下一页    pages.push(下一页)    return pages;  }

页码点击函数:

//页码点击  pageClick(currentPage) {    const {groupCount} = this.state    const getCurrentPage = this.props.pageCallbackFn;    //当 当前页码 大于 分组的页码 时,使 当前页 前面 显示 两个页码    if (currentPage >= groupCount) {      this.setState({        startPage: currentPage - 2,      })    }    if (currentPage 

上一页和夏夜点击事件


//上一页事件  prePageHandeler() {    let {currentPage} = this.state    if (--currentPage === 0) {      return false    }    this.pageClick(currentPage)  }  //下一页事件  nextPageHandeler() {    let {currentPage,totalPage} = this.state    // const {totalPage} = this.props.pageConfig;    if (++currentPage > totalPage) {      return false    }    this.pageClick(currentPage)  }

登录后复制

组件渲染到DOM上

render() {    const pageList = this.createPage();    return (      

登录后复制        {pageList}          )  }

2.父组件

创建 Pagecontainer.js 文件

父组件完整代码

import React, {Component} from 'react'import Pagecomponent from '../components/Pagecomponent'import data from '../mock/tsconfig.json'class Pagecontainer extends Component {  constructor() {    super()    this.state = {      dataList:[],      pageConfig: {        totalPage: data.length //总页码      }    }    this.getCurrentPage = this.getCurrentPage.bind(this)  }  getCurrentPage(currentPage) {    this.setState({      dataList:data[currentPage-1].name    })  }  render() {    return (      

        

          {this.state.dataList}        

                  )  }}export default Pagecontainer

登录后复制

相关推荐:

jQuery封装的分页组件详解

利用vue2.0实现的分页组件

基于vue2的table分页组件实现方法

以上就是用react写一个分页组件的示例的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月8日 17:46:34
下一篇 2025年2月18日 02:07:49

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

相关推荐

  • 简单搭建一个react项目

    本文主要和大家介绍了从零开始搭建一个react项目开发,小编觉得挺不错的,希望能帮助大家学习如何搭建一个react项目。 1、npm init 生成 package.json 文件. 2、安装各种需要的依赖: npm install &#8…

    编程技术 2025年3月8日
    200
  • react受控组件与非受控组件详解

    我们都知道,有许多的web组件可以被用户的交互发生改变,比如:,,或者是我现在正在使用的富文本编辑器。这些组件在日常的开发中很不显眼,我们可以很轻易的通过输入一些内容或者设置元素的value属性来改变组件的值。但是,因为react是单向数据…

    编程技术 2025年3月8日
    200
  • React Native自定义控件实现底部抽屉菜单

    原生开发中,自定义view可谓是屡见不鲜的事情,往往系统的控件总不能满足现实的需求。五花八门的产品设计需要我们做出不同的view。关于自定义view的内容网上已经有很多的博文,本篇博客要和大家分享如何在react native中自定义组件实…

    2025年3月8日
    200
  • JS实现图片轮播的实例

    本文主要为大家带来一篇使用js实现图片轮播的实例(前后首尾相接),代码参考了一位已经写好了图片轮播功能的(再次表示感谢),但是没有首尾相接的功能,本人在此基础上增加了首尾相接功能。 效果如下: nbsp;html PUBLIC “-//W3…

    2025年3月8日
    200
  • react前后端同构渲染示例代码

    前后端同构渲染:当客户端请求一个包含react组件页面的时候,服务端首先响应输出这个页面,客户端和服务端有了第一次交互。然后,如果加载组件的过程需要向服务端发出ajax请求等,客户端和服务端又进行了一次交互,这样,耗时相对较长。前后端同构渲…

    2025年3月8日
    200
  • 六种css三栏布局方法示例

    本文我们主要和大家分享六种css三栏布局方法示例, 谈到布局,首先就要想到定位,当别人问我,css的position定位有哪些取值,分别表示什么意思?呃…..抓头.gif,是时候回归本质,看定义了。 定位 position有六个…

    2025年3月8日
    200
  • React中的refs的使用教程分享

    ref是react中的一种属性,当render函数返回某个组件的实例时,可以给render中的某个虚拟dom节点添加一个ref属性,如下面的代码所示:     var App = React.createClass({ render: fu…

    2025年3月8日
    200
  • 利用angular、react和vue实现相同的面试题组件

    react 和angular,vue 这三个框架最近都比较火,本文主要给大家介绍的是关于angular、react和vue实现相同的面试题组件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 面试题要求如下所示 …

    2025年3月8日
    200
  • React拖拽排序组件Dragact详解

    先来一张图看看: Typescript(TS) 最近一直在使用TS进行开发,Eggjs的Ts实践也写了一半。这玩意儿,真的是有毒的,因为能让你上瘾。 随便将一个项目迁移到TS之上,在强大的静态类型检测下,你就能轻松的发现一堆逻辑和边界错误。…

    2025年3月8日
    200
  • JS内存管理实例讲解

    js有完善的内存处理机制,所以之前我们不用特别的去关注这块的实现。页面不快了,刷新一下就好了;浏览器卡顿,重启一下就ok。但是随着spa和移动app的流行,以及未来可能存在的pwa的实现,js内存可能成为新的内存瓶颈。 1.什么是内存泄漏 …

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论