Pagination
「よくあるテーブル」などの一覧のページを切り替えるためのコンポーネントです。大量データを分割表示し、ページ単位で前後移動させるときに使います。使用する場所によって機能を落とせます。
モバイル
Paginationの代わりに、データを追加で読み込むボタンの利用を検討する
以下の理由から、モバイルでのPaginationの表示には注意が必要です。Paginationの代わりに、データを追加で読み込んで表示するボタン(例:よくあるリストの「さらに表示」ボタン)を使うことを検討してください。
- 水平方向に複数の操作が並ぶPaginationは誤操作を招きやすい
- ユーザーはモバイル環境では垂直方向のスクロールで情報を閲覧する操作に慣れている
ただし、次のような場合にはモバイルでもPaginationが適していることがあります。
- 表示されるデータの件数が多いと想定される場合
- 一覧上から特定のデータを探して操作することが主要な使われ方として想定される場合
モバイルでPaginationを表示する場合は、画面の幅が狭いため、withoutNumberpropsを有効にするか、paddingpropsに0~1の値を設定してください。
使い方チェックリスト
Pagination
参照元:モバイル > Paginationの代わりに、データを追加で読み込むボタンの利用を検討する 「モバイル > Paginationの代わりに、データを追加で読み込むボタンの利用を検討する」の本文へ移動
- Mustモバイルで Pagination を表示する場合は、`withoutNumber` props を有効にするか、`padding` props に 0〜1 の値を設定する
- Shouldモバイルでは Pagination の代わりに、データを追加で読み込んで表示するボタン(例: よくあるリストの「さらに表示」ボタン)の利用を検討する
- ただし、表示されるデータの件数が多いと想定される場合や、一覧上から特定のデータを探して操作することが主要な使われ方として想定される場合は、モバイルでも Pagination が適していることがある
Props
total必須
number
全ページ数
current必須
number
現在のページ
padding
number
現在のページの前後に表示するページ番号のボタンの数
withoutNumbers
falsetrue
true のとき、ページ番号のボタンを表示しない
onClick
(pageNumber: number, e: MouseEvent<HTMLElement, MouseEvent>) => void(href: string, e: MouseEvent<HTMLElement, MouseEvent>) => void
ボタンを押下したときに発火するコールバック関数 リンクを押下したときに発火するコールバック関数
hrefTemplate
(pageNumber: number) => string
href属性生成用関数。設定した場合、番号やarrowがbuttonからa要素に置き換わります
linkAs
"symbol""object"ComponentClass<any, any>FunctionComponent<any>"input""a""abbr""address""area""article""aside""audio""b""base""bdi""bdo""big""blockquote""body""br""button""canvas""caption""center""cite""code""col""colgroup""data""datalist""dd""del""details""dfn""dialog""div""dl""dt""em""embed""fieldset""figcaption""figure""footer""form""h1""h2""h3""h4""h5""h6""head""header""hgroup""hr""html""i""iframe""img""ins""kbd""keygen""label""legend""li""link""main""map""mark""menu""menuitem""meta""meter""nav""noindex""noscript""ol""optgroup""option""output""p""param""picture""pre""progress""q""rp""rt""ruby""s""samp""search""slot""script""section""select""small""source""span""strong""style""sub""summary""sup""table""template""tbody""td""textarea""tfoot""th""thead""time""title""tr""track""u""ul""var""video""wbr""webview""svg""animate""animateMotion""animateTransform""circle""clipPath""defs""desc""ellipse""feBlend""feColorMatrix""feComponentTransfer""feComposite""feConvolveMatrix""feDiffuseLighting""feDisplacementMap""feDistantLight""feDropShadow""feFlood""feFuncA""feFuncB""feFuncG""feFuncR""feGaussianBlur""feImage""feMerge""feMergeNode""feMorphology""feOffset""fePointLight""feSpecularLighting""feSpotLight""feTile""feTurbulence""filter""foreignObject""g""image""line""linearGradient""marker""mask""metadata""mpath""path""pattern""polygon""polyline""radialGradient""rect""set""stop""switch""text""textPath""tspan""use""view"
next/linkなどのカスタムコンポーネントを指定します。指定がない場合はデフォルトで a タグが使用されます。

