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