2 回答

TA貢獻(xiàn)1876條經(jīng)驗 獲得超6個贊
添加一個名為 pageIndex 的狀態(tài),該狀態(tài)初始化為 0,每當(dāng)下一個或后退按鈕被分別單擊時,該狀態(tài)會增加或減少。
如果 pageIndex 的值在單擊返回時為 -1,則它應(yīng)該禁用 - 這可以解決您所說的 arr[0] 問題。
如果 pageIndex 的值將大于 arr 的長度,則前進(jìn)按鈕將被禁用。
希望能給你一個思路??

TA貢獻(xiàn)1780條經(jīng)驗 獲得超1個贊
這是我的工作分頁組件
import React from 'react';
// MATERIAL UI CORE
import IconButton from "@material-ui/core/IconButton";
// MATERIAL UI COMPONENTS
import FirstIcon from "@material-ui/icons/FirstPage";
import PrevIcon from "@material-ui/icons/ChevronLeft";
import NextIcon from "@material-ui/icons/ChevronRight";
import LastIcon from "@material-ui/icons/LastPage";
const Pagination = props => {
const {
num, // ARRAYS LENGTH
current, // CURRENT PAGE
onCurrent, // CHAGING THE CURRENT PAGE MINUS OR POSITION
fromPage, // START OF PAGINATION
toPage, // END OF PAGINATION - EXAMPLE 20/40 SO WERE SEEING 20 ARTICLES
pagely // HOW MANY ITEMS PER PAGE
} = props;
const pages = Math.ceil(num / pagely);
const first = current === 0;
const last = current === pages - 1;
return (
<div className = "pagination">
<div className = "icon">
<IconButton
onClick = {onCurrent.bind(this, 0)}
disabled = {first}>
<FirstIcon />
</IconButton>
</div>
<div className = "icon">
<IconButton
onClick = {onCurrent.bind(this, Math.max(current - 1, 0))}
disabled = {first}>
<PrevIcon />
</IconButton>
</div>
<div className = "text">
<span>Items {fromPage + 1} - {toPage} of {num}</span>
<br />
<span>Page {current + 1} of {pages}</span>
</div>
<div className = "icon">
<IconButton
onClick = {onCurrent.bind(this, Math.min(current + 1, pages - 1))}
disabled = {last}>
<NextIcon />
</IconButton>
</div>
<div className = "icon">
<IconButton
onClick = {onCurrent.bind(this, pages - 1)}
disabled = {last}>
<LastIcon />
</IconButton>
</div>
</div>
);
}
export default Pagination;
希望這可以幫助
丹尼爾
添加回答
舉報