UNPKG

@uiw/react-native

Version:
146 lines (126 loc) 3.55 kB
Pagination 分页器 --- 用于展示页码、请求数据等。 <!-- ![](https://user-images.githubusercontent.com/66067296/140044665-d27bccd1-24ba-4eaf-949b-89b6dc9f0dad.png) --> <!--rehype:style=zoom: 33%;float: right; margin-left: 15px;--> ### 基础示例 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(1) return ( <Pagination current={current} total={60} pageSize={8} onPageChange={(type, current) => { setCurrent(current) console.log('type, current: ', type, current); }} /> ) } export default Demo ``` ### 修改尺寸 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(1) return ( <Pagination size='large' current={current} total={60} pageSize={8} /> ) } export default Demo ``` ### 页码跳转 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(1) return ( <Pagination current={current} total={60} pageSize={8} jumpBtn={true} /> ) } export default Demo ``` ### 指定初始页码 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(2) return ( <Pagination current={current} total={60} pageSize={8} /> ) } export default Demo ``` ### 翻页按钮图标展示 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(2) return ( <Pagination current={current} total={60} pageSize={8} icon={true} /> ) } export default Demo ``` ### 自定义页码指示器 ```jsx mdx:preview&background=#bebebe29 import React, { useState } from 'react'; import Pagination from '@uiw/react-native/lib/Pagination'; function Demo() { const [current, setCurrent] = useState(2) return ( <Pagination current={current} total={60} pageSize={8} renderPages={(c,t)=><div>当前页:{c} 总页数{t}</div>} /> ) } export default Demo ``` ### Props | 参数 | 说明 | 类型 | 默认值 | |------|------|-----|------| | size | 尺寸| `small` \| `default` \| `large` | `small` | | current | 当前页数 | number | - | | currentColor | 当前页的颜色 | string | - | | renderPages | 自定义当前页与总页数元素 | `(current: number,totalPage: number)=>React.ReactNode` | - | | onCurrent | 点击当前页触发 | `(current: number,totalPage?: number)=> React.ReactNode` | - | | total | 数据总量 | number | - | | pageSize | 每页数据量 | number | - | | icon| 是否以 icon 形式展示按钮 | boolean | - | | onPageChange | 点击页码按钮时触发 | `(type: 'prev' \| 'next', current: number) => void` | - | | borderColor | 边框颜色 | string | - | | color | 按钮中的颜色 | string | - | | jumpBtn | 页码跳转 | boolean | - | | simple | 简洁版本 | boolean | - | ```