使用react-bootstrap表分页

时间:2018-02-21 06:28:23

标签: reactjs react-bootstrap create-react-app

我正在使用create-react-app和react-bootstrap构建一个基本的反应应用程序。我正在使用一个表来显示来自react-bootstrap https://react-bootstrap.github.io/components/table/的信息。我正试图让桌子上的分页工作,我不知道如何绕过它与桌子一起工作。以下是我的组件的代码片段,我添加了来自react-bootstrap的分页代码片段,它只显示底部的分页页脚,但实际上并没有对结果进行分页。 App.js

import React, { Component } from 'react';
import Table from 'react-bootstrap/lib/Table';
import Pagination from 'react-bootstrap/lib/Pagination';

export class App extends Component {

renderList() {
  return(
    <Table striped hover bordered condensed>
      <thead>
        <tr>
          <th>Name</th>
          <th>Description</th>
          <th>Forks</th>
          <th>Clone URL</th>
        </tr>
      </thead>
      <tbody>
        {this.state.response.map((object) => {
          return (
            <tr>
              <td><a onClick={this.handleClick.bind(this,object)}>{object.name} </a></td>
              <td>{object.description}</td>
              <td><Glyphicon glyph="cutlery" /> {object.forks_count}</td>
              <td>{object.clone_url}</td>
            </tr>
          );
        })}
        </tbody>
      </Table>
    );
  }

  renderPagination() {
    let items = [];
    for (let number = 1; number <= 10; number++) {
      items.push(
       <Pagination.Item>{number}</Pagination.Item>
      );
    }
    return (
      <Pagination bsSize="small">{items}</Pagination>
    );
  }

  render() {
    return (
      <div className="App">
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Netflix Repositories</h1>
        </header>
        {this.renderList()}
        <CommitList ref={(ref) => this.commitList = ref} 
          show={this.state.show}
          commits={this.state.commits} />
        {this.renderPagination()}
      </div>
    );
  }
}

如何在表格上对结果进行分页?

1 个答案:

答案 0 :(得分:0)

处理此问题的两种方法:

  1. 仅使用前端分页:获取整个结果并将结果除以列表大小,例如10,并假设您总共有50个列表项,那么您有50/10 == 5页。对于每个分页项目,添加一个&#34; onClick&#34;它,并更改您显示的页面。

  2. 使用前端和后端分页:仅获取结果的特定部分,并在前端处理它。 (有关详细信息,请搜索Spring JPA Pagination。)