반응형
jsx 코드
<Pagination>
<Pagination.First onClick={pageFirst} />
<Pagination.Prev onClick={pagePrev} />
{pageList.map((item, index) => {
return (
<Pagination.Item key={index} onClick={pageSelect}>
{item}
</Pagination.Item>
);
})}
<Pagination.Next onClick={pageNext} />
<Pagination.Last onClick={pageLast} />
</Pagination>
자바스크립트 코드 (리액트)
const pagePrev = () => {
if (nowPageNum > 1) {
history.push(`/${divClassName}/page=${nowPageNum - 1}`);
} else {
history.push(`/${divClassName}/page=1`);
}
};
const pageNext = () => {
history.push(`/${divClassName}/page=${nowPageNum + 1}`);
};
const pageFirst = () => {
if (nowPageNum <= 10) {
history.push(`/${divClassName}/page=1`);
} else {
history.push(`/${divClassName}/page=${nowPageNum - 10}`);
}
};
const pageLast = () => {
history.push(`/${divClassName}/page=${nowPageNum + 10}`);
};
const pageSelect = (event) => {
console.log(event.target.textContent);
const {
target: { textContent },
} = event;
history.push(`/${divClassName}/page=${textContent}`);
};
let startPage, endPage;
let pageList = [];
const getPageList = () => {
const temp = nowPageNum / 10 + 1;
startPage = Math.floor(temp);
console.log("startPage", startPage);
endPage = startPage * 10 + 1;
if (nowPageNum < 10) {
for (let index = 1; index <= 10; index++) {
pageList[index] = index;
}
} else {
for (startPage = endPage - 11; startPage < endPage; startPage++) {
pageList[startPage] = startPage;
}
}
};
getPageList();
결과물
반응형
'Javascript' 카테고리의 다른 글
Adapter Pattern (0) | 2021.10.20 |
---|---|
모던 자바스크립트 튜토리얼 (0) | 2020.12.09 |
자바스크립트 pc 모바일 감지 (0) | 2020.11.27 |
html 태그의 부모태그 안의 텍스트 찾기 (0) | 2020.11.27 |
자바스크립트 기본 모음 (0) | 2020.11.03 |