Pagination
Pagination
は、コンテンツのページ分割とナビゲーションを管理するためのコンポーネントです。
インポート
import { Pagination } from "@yamada-ui/react"
使い方
編集可能な例
<Pagination total={10} />
バリアントを変更する
編集可能な例
<VStack> <For each={["solid", "outline", "ghost", "unstyled"]}> {(variant, index) => ( <Pagination key={index} total={10} variant={variant} /> )} </For> </VStack>
サイズを変更する
編集可能な例
<VStack> <For each={["xs", "sm", "md", "lg", "xl"]}> {(size, index) => <Pagination key={index} total={10} size={size} />} </For> </VStack>
カラースキーマを変更する
編集可能な例
<VStack> <For each={[ { variant: "solid", colorScheme: "secondary" }, { variant: "outline", colorScheme: "orange" }, { variant: "ghost", colorScheme: "cyan" }, ]} > {({ variant, colorScheme }, index) => ( <Pagination key={index} total={10} variant={variant} colorScheme={colorScheme} /> )} </For> </VStack>
エッジコントロールボタンを追加する
最初と最後のページに移動するボタンを追加するには、withEdges
をtrue
にします。
編集可能な例
<Pagination total={10} withEdges />
前後の数をカスタマイズする
現在のページの前後に表示する数を変更したい場合は、siblings
に表示したい数を設定します。
編集可能な例
<Pagination total={77} siblings={3} />
最初と最後の数をカスタマイズする
最初と最後に表示する数を変更したい場合は、boundaries
に表示したい数を設定します。
編集可能な例
<Pagination total={77} boundaries={3} />
ページネーションを無効にする
ページネーションを無効にしたい場合は、isDisabled
を設定します。
編集可能な例
<VStack> <For each={["solid", "outline", "ghost", "unstyled"]}> {(variant, index) => ( <Pagination key={index} total={10} variant={variant} isDisabled /> )} </For> </VStack>
コントロールボタンをカスタマイズする
controlProps
: 両方のボタンに設定されるprops
です。controlPrevProps
: 前のボタンに設定されるprops
です。controlNextProps
: 次のボタンに設定されるprops
です。
編集可能な例
<VStack> <For each={[ { props: { controlProps: { children: <GhostIcon /> } } }, { props: { controlPrevProps: { children: <GhostIcon /> } } }, { props: { controlNextProps: { children: <GhostIcon /> } } }, ]} > {({ props }, index) => <Pagination key={index} total={10} {...props} />} </For> </VStack>
エッジコントロールボタンをカスタマイズする
edgeProps
: 両方のボタンに設定されるprops
です。edgeFirstProps
: 最初のボタンに設定されるprops
です。edgeLastProps
: 最後のボタンに設定されるprops
です。
編集可能な例
<VStack> <For each={[ { props: { edgeProps: { children: <GhostIcon /> } } }, { props: { edgeFirstProps: { children: <GhostIcon /> } } }, { props: { edgeLastProps: { children: <GhostIcon /> } } }, ]} > {({ props }, index) => ( <Pagination key={index} total={10} withEdges {...props} /> )} </For> </VStack>
制御する
編集可能な例
const [page, onChange] = useState<number>(1) return <Pagination page={page} total={10} onChange={onChange} />
GitHubでこのページを編集する