小编给大家分享一下react.js如何实现翻页插件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
具体代码如下所示:
var
Page = React.createClass({
render:function()
{
//中间代码更新
var
totalRows =
this.props.totalRows;
var
listRows =
this.props.listRows;
var
nowPage =
this.props.nowPage>0?this.props.nowPage:1;
var
firstRow =
this.props.listRows*(this.props.nowPage-1);
var
totalPage =
Math.ceil(totalRows/listRows);
var
show_count=this.props.show_count?this.props.show_count:5;
if((!totalPage)&&nowPage>totalPage)
{
this.props.nowPage=totalPage;
}
if(this.props.nowPage<1)
{
this.props.nowPage=1;
}
var
show_count_mid=show_count/2;
var
pages = [];
for(var
i=1;i<=show_count;i++)
{
var
page=0;
if(nowPage<=show_count_mid)
{
page
= i;
}
else if(nowPage+show_count_mid>totalPage)
{
page
= totalPage -
show_count+i;
}
else
{
page
=nowPage-Math.ceil(show_count_mid)+i;
}
if(page>0&&page!=nowPage)
{
if(page<=totalPage)
{
pages.push(<li
onClick={this.props.onPagination.bind(this,page)}><a>{page}</a></li>);
}
}
else
{
pages.push(<li
className="active"><a>{page}</a></li>);
}
}
this.pagesbutton=pages;
return
(
this.props.totalRows>0?(
<ul
className="pagination">
<li><a>Total:{this.props.totalRows}
{this.props.nowPage}/{Math.ceil(this.props.totalRows/this.props.listRows)}</a></li>
<li
onClick={this.props.onPagination.bind(this,1)}><a>firstpage</a></li>
<li
onClick={this.props.onPagination.bind(this,this.props.nowPage==1?1:this.props.nowPage-1)}><a
href="#none">«</a></li>
{this.pagesbutton}
<li
onClick={this.props.onPagination.bind(this,this.props.nowPage==this.props.totalPage?this.props.totalPage:this.props.nowPage+1)}>
<a
href="#none">»</a>
</li>
<li
onClick={this.props.onPagination.bind(this,Math.ceil(this.props.totalRows/this.props.listRows))}><a>lastpage</a></li>
</ul>
):(
<ul
className="pagination">
<li><a>No data</a></li>
</ul>
)
);
}
});
以上是“react.js如何实现翻页插件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!