Я пытаюсь реализовать нумерацию страниц как для интерфейса, так и для интерфейса.В интерфейсе у меня есть:
private fetchOrders = async (prevProps) => {
if (!prevProps || this.props.location.pathname !== prevProps.location.pathname || this.props.location.search !== prevProps.location.search) {
try {
await this.props.fetchOrders(this.state.searchFilter, deparamSearch(this.props.location.search));
} catch (error) {
console.error(error);
this.setState({ error });
}
}
}
private handlePageChange = (e, page) => {
// for now this will reset the page count
this.props.history.push(`${this.props.location.pathname}?page=${page + 1}&count=${this.props.count}`);
}
private handleCountChange = ({ target: { value } }) => {
// for now this will reset the page count
this.props.history.push(`${this.props.location.pathname}?page=1&count=${value}`);
}
, а затем в методе render
:
<MuiTable
padding="dense"
data={pageData}
pagination={{
count: data ? data.length : 0,
rowsPerPage: count,
page: page - 1, // 0-based
rowsPerPageOptions: [10, 25, 100, 500],
onChangePage: this.handlePageChange, // this.props.history.push(`${this.props.location.pathname}?page=1&sort=${this.props.sort}&count=${value}`),
onChangeRowsPerPage: this.handleCountChange, // this.setState({ perPage: e.target.value }),
}}
columns={[
{
const mapStateToProps = (state , props) => {
const search: any = deparamSearch(props.location.search);
return {
orders: (state.orders.list || []),
page: Number.parseInt(search.page || 1),
count: search.count || 10,
};
};
, а в конце:
return dslContext.select(...
.
.
.
.limit(query.count().orElse(defaultCount))
.offset(((query.page().orElse(1) - 1) * query.count().orElse(defaultCount))+1) //TODO: Rey: use count and page with limit and offset
.fetch()
Проблема в том, что он не может получить какие-либо данные.Если я удалю .offset(((query.page().orElse(1) - 1) * query.count().orElse(defaultCount))+1)
, я увижу некоторые данные (конечно, без использования правильного смещения), но я не могу перейти на следующую страницу.Я не уверен, что могу использовать нумерацию страниц на стороне сервера с использованием пользовательского интерфейса материала.