gpt4 book ai didi

javascript - react-bootstrap-table - 自己的分页项目数

转载 作者:行者123 更新时间:2023-11-28 17:24:52 29 4
gpt4 key购买 nike

我正在使用react-bootstrap-table中的BootstrapTable并从外部API获取数据。每次我得到一个包含 30 个项目的对象。因此 pageSize 是 30,但我从 API 获取了 totalPages 变量,假设是 6。不幸的是,表数据每次都是 30,所以只有一页 enter image description here

我想告诉表格我想要有多少个页面 - 6 - 每次在分页项中 onClick 我都会调用另一个 API 链接。我怎样才能实现这个目标?

  onPageChange = page => {
alert(`Let's go to page: ${page}`);
};

render() {
const options = {
onPageChange: this.onPageChange,
hideSizePerPage: true,
page: 1,
sizePerPage: this.props.pageSize,
paginationSize: 6,
};
return (
<Card>
<CardHeader>
<h1> Sales report</h1>
</CardHeader>
<CardBody>
<BootstrapTable
data={this.props.sales}
version="4"
striped
hover
pagination
options={options}
keyField="Type"
>
{tableHeaders.map((header, index) => (
<TableHeaderColumn key={index} dataField={header}>
{header}
</TableHeaderColumn>
))}
</BootstrapTable>
</CardBody>
</Card>
);
}

最佳答案

您必须传递 options 对象并通过单击每个页面来指定确切的项目数和回调。

例如:

class PaginationHookTable extends React.Component {
constructor(props) {
super(props);

this.options = {
onPageChange: this.onPageChange,
sizePerPage: 6,
};

this.state = {
data: [],
}
}

onPageChange = (page, sizePerPage) => {
alert(`page: ${page}, sizePerPage: ${sizePerPage}`);

// make another url
const url = `http://someurl.com/api/endpoint?page=${page}`;

// make request and update state with new data
// axios just for example
axios.get(url).then(resp => this.setState({ data: resp });
}

render() {
return (
<div>
<BootstrapTable
data={this.state.data}
options={this.options}
remote={true}

// you need to use your number of total from backend
// instead of 100 ofc
fetchInfo={{ dataTotalSize: 100 }}
pagination>
<TableHeaderColumn dataField='id'>Product ID</TableHeaderColumn>
<TableHeaderColumn dataField='name'>Product Name</TableHeaderColumn>
<TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
</BootstrapTable>
</div>
);
}
}

更新:您必须传递额外的属性:remote={true}fetchInfo: { dataTotalSize: 100 } 来指定总数项目。

查看更多here .

关于javascript - react-bootstrap-table - 自己的分页项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51873447/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com