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>
)
);
}
});
当前应该还存在Bug,请读者自行修复
原文链接:https://www.f2er.com/react/304967.html