美文网首页
分页组件

分页组件

作者: 43e1f527c136 | 来源:发表于2023-03-16 19:13 被阅读0次

import React from 'react';class Pagination extends React.Component {

  constructor(props) {

    super(props);

    this.state = {

      currentPage: 1,

      totalPages: Math.ceil(this.props.totalItems / this.props.itemsPerPage),

    };

  }

  componentDidUpdate(prevProps) {

    if (prevProps.totalItems !== this.props.totalItems || prevProps.itemsPerPage !== this.props.itemsPerPage) {

      this.setState({

        totalPages: Math.ceil(this.props.totalItems / this.props.itemsPerPage),

      });

    }

  }

  handlePageChange = (pageNum) => {

    this.setState({

      currentPage: pageNum,

    });

    this.props.onPageChange(pageNum);

  };

  render() {

    const { currentPage, totalPages } = this.state;

    const pageNumbers = [];

    for (let i = 1; i <= totalPages; i++) {

      pageNumbers.push(i);

    }

    return (

      this.handlePageChange(currentPage - 1)}>              Previous{pageNumbers.map((pageNum) => (this.handlePageChange(pageNum)}>                {pageNum}))}this.handlePageChange(currentPage + 1)}>              Next    );

  }

}export default Pagination;

相关文章

网友评论

      本文标题:分页组件

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