0.1.3 • Published 3 years ago
paging-core v0.1.3
Paging-Core
✨ Features
- 将翻页逻辑、参数、数据进行了封装管理
💉 Consumption of published library:
- install it 🤖
yarn add paging-core
# OR
npm install paging-core
- use it 💪
interface IData {
list: Array<string>
number: number
params?: Partial<{ name: string }>
}
const loader: ILoader<Partial<{ name: string }>, IData> = async (
number,
params
) => {
return {
list: ["1", "2", "3"],
number,
params,
}
}
const paging = new PagingCore<Partial<{ name: string }>, IData>({
initParams: {
name: "jinc",
}
})
// 注册加载函数
paging.registered(loader)
// 触发加载函数
paging.load().then(([data, err]: [IData | void, Error | void])=>{
console.log(data, err)
// 设置加载下一页
paging.next()
})
✨ API
注册加载器
// 加载器,接收两参数,第一个是页码,第二个是参数值
const loader = async (pageNumber,params) => {
return {
list: ["1", "2", "3"],
pageNumber,
params,
}
}
// 注册加载器
const paging = new PagingCore
paging.registered(loader)
设置参数
// 设置单个值
paging.setParam("name", "jinci")
// 设置多个值
paging.setParams({
"name":"jinci"
})
// 重设为实例化的值
paging.reset()
操作页码
// 直接设置页码
paging.setPage(2)
// 将页码设置为下一页 +1
paging.next()
// 将页码设置为上一页 -1
paging.last()
缓存数据
// 使用缓存
new PagingCore({
useCache: true,
initParams: {name: "jinc"}
})
// 加载数据
await paging.load()
paging.next()
await paging.load()
// 获取缓存数据
paging.getPageData(2)
🥂 License
MIT as always