我正在使用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>
);
}
}
如何在表格上对结果进行分页?
答案 0 :(得分:0)
处理此问题的两种方法:
仅使用前端分页:获取整个结果并将结果除以列表大小,例如10,并假设您总共有50个列表项,那么您有50/10 == 5页。对于每个分页项目,添加一个&#34; onClick&#34;它,并更改您显示的页面。
使用前端和后端分页:仅获取结果的特定部分,并在前端处理它。 (有关详细信息,请搜索Spring JPA Pagination。)