今天要实作的只是一个最基本的 Pagination,而我个人觉得在处理换页时维持固定长度的逻辑挺有趣的,所以特别在最後一篇实作拿出来讲
如果不然很容易不小心点到别页造成很差的使用者体验,会容易按错,像这样:https://imgur.com/YFSIZQC
若想要新增功能的话,还可以加「跳至特定页面的 input」、「显示页数」等等的功能。
想先看 Code 或是 Demo 的由此去
Github Repo: ithelp-ui-demo
Live Demo:Pagination
interface PaginationProps {
disabled?: boolean; // default: false;
page?: number; // default: 1
onPageChagne: (page: number) => void;
pageSize?: number; // default: 10
total: number;
boundaryCount?: number; // defualt: 1
siblingCount?: number; // default: 1
}
要提供更多功能的话,还有以下的 API 可以开
需要固定 Pagination 长度,避免 CLS。
为此需要有前後预设值、Ellipsis 等等,而我预设 7 个
前後各一,中间三,加两个...
而最前跟最後的时候则是各保留五个
实作思路:
那这边其实只实作一个比较不能客制化的版本,之後会再重构一次。
解说的部分一样希望之後系列完成後能再回来补上,这边就先请读者见谅了,如果有疑问的话可以留言给我,我会马上解答的!
>>: [Day 28]从零开始学习 JS 的连续-30 Days---BOM-浏览器物件模型(下)
Fragments在Navigation中的参数传递 - SafeArgs 继上篇我们得知如何运用N...
前言: 印象中第一次写网页时,我连 Sublime text 的运作方式都很不习惯,因为每次打开时它...
为了与 SONY 的 PS4 相抗衡、基於过去的策略、微软也选择在几乎相同的时间发布了他们的新主机 ...
URL Encoding(URL编码) URL 编码将字符转换为可以通过 Internet 传输的格...
昨天我们快乐 (?) 的把资料 render 到网页上(虽然会有点 Delay,对 UX 不好…不过...