@uiw/react-native
Version:
UIW for React Native
146 lines (126 loc) • 3.55 kB
Markdown
Pagination 分页器
---
用于展示页码、请求数据等。
<!--  -->
<!--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 | - |
```