4 个版本 (2 个重大更改)
| 0.3.0 | 2023 年 4 月 20 日 |
|---|---|
| 0.2.1 | 2020 年 7 月 4 日 |
| 0.2.0 | 2020 年 5 月 30 日 |
| 0.1.0 | 2020 年 5 月 28 日 |
#81 在 #page
18KB
369 行
什么是
Pagination 是一个 Rust 的分页查询库。
用法
构建分页请求参数
仅分页参数
use pagination::{
PageParams,
OffsetParams,
DefaultIntoOffset
};
let page_param = PageParams::new(5, 20);
let offset_param = page_param.into_offset();
assert_eq!(offset_param.offset(), 80_u64);
assert_eq!(offset_param.limit(), 20);
支持复杂参数
use pagination::{
PageRequest,
OffsetRequest,
DefaultIntoOffset
};
struct UserQuery {
name : &'static str,
age : u8
}
let page_req = PageRequest::new(5, 20, UserQuery{name : "alex", "age" : 18});
let offset_req = page_req.into_offset();
assert_eq!(offset_param.offset(), 80_u64);
assert_eq!(offset_param.limit(), 20);
默认页面大小
如果用户输入的 页面大小 为 0 或大于 max page size,则 DEFAULT_PAGE_SIZE 将作为页面大小。默认页面大小的值为 20,您可以通过功能 page-size-5、page-size-10、page-size-15、page-size-20、page-size-30、page-size-40、page-size-50 选择值。
包装数据库结果
use pagination::Page;
let page = Page::new(vec!(10,20,30), 10);
let f1 = page[0];
assert_eq!(f1 , 10);
许可
在以下任一许可下使用
依赖项
~185KB