0.1.3 • Published 3 years ago

paging-core v0.1.3

Weekly downloads
1
License
MIT
Repository
-
Last release
3 years ago

Paging-Core

Greenkeeper badge

Build Status NPM version Downloads Standard Version styled with prettier Conventional Commits

✨ Features

  • 将翻页逻辑、参数、数据进行了封装管理

💉 Consumption of published library:

  1. install it 🤖
yarn add paging-core
# OR
npm install paging-core
  1. 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