【发布时间】:2014-08-04 11:55:04
【问题描述】:
所以我在 Reactjs 中构建分页的方式有点奇怪,但它对我有用,我,怎么会想说 给我看第 5 页的前 5 个(1-5)给我看最多 5 个。但我不清楚如何做到这一点。
这是我目前拥有的:
render: function() {
// Do we have more then one page?
if (this.props.maxPages > 0){
// We have to add one to the max pages that come back.
var pageLink = this.props.maxPages + 1;
var currentPage = this.props.currentPage;
var liElements = []
// Build [<<][<] for the user.
if (pageLink > 1) {
liElements.push(<li><a href="#posts?page=1"><<</a></li>);
liElements.push(<li><a href={this.pageSubtraction(currentPage, pageLink)}><</a></li>);
}
// Build the individual [x][y][z] links.
for (var i = 1; i <= pageLink; i++) {
liElements.push(<li key={i} id={i}><a href={"#posts?page="+i}>{i}</a></li>);
}
// Build the [>][>>] for the user.
if (pageLink > 1) {
liElements.push(<li><a href={this.pageAddition(currentPage, pageLink)}>></a></li>);
liElements.push(<li><a href={"#posts?page="+pageLink}>>></a></li>);
}
return (<ul className="pagination">{liElements}</ul>);
}else{
// Return nothing.
return ( <div></div> );
}
}
这将建立我[<<][<][1][2][3] ... [>][>>] 这很棒,但他们没有限制。
此时:
-
pageLink = 6(最大页数——我知道可怕的变量名) -
currentPage = 1(您所在的当前页面)
所以我需要的是:
[<<][<][1][2][3][4][5][>][>>] 选择第 5 页 [<<][<][5][6][>][>>] 但我不确定我目前的设置是否允许我这样做。
【问题讨论】:
标签: pagination reactjs