Pagination

Pagination

목록·테이블의 페이지를 이동하는 컴포넌트입니다. nav · ul 시맨틱 구조와 aria-current="page"로 접근성을 지원합니다.

기본

이전·다음 버튼과 페이지 번호로 구성합니다.

현재 페이지: 1

미니멀

minimal로 테두리 없는 가벼운 스타일을 적용합니다.

크기

size로 항목 스케일을 조절합니다.

둥근

round로 pill 형태의 페이지 버튼을 적용합니다.

페이지 생략

페이지가 많을 때 중간 구간을 생략합니다.

심플

simple로 이전·다음과 현재/전체 페이지만 표시합니다.

툴바 조합

pagination_total · pagination_jumper와 함께 테이블 하단 툴바를 구성합니다.

총 128건

정렬

pagination_align-center · pagination_align-end로 가운데·우측 정렬합니다.

상태

첫·마지막 페이지에서는 이전·다음 버튼을 비활성화합니다.

API · Props

Prop타입기본값설명
currentnumber현재 페이지 (제어, v-model:current)
default-currentnumber1초기 페이지 (비제어)
totalnumber1전체 항목 수
page-sizenumber10페이지당 항목 수
simplebooleanfalsepagination_simple — 이전·다음+현재/전체
minimalbooleanfalsepagination_minimal — 테두리 없음
size'sm' | 'md' | 'lg'mdpagination_sm · pagination_lg
roundbooleanfalsepagination_round — pill 버튼
aria-labelstring페이지 이동nav aria-label
ripplebooleantrue클릭 파장(ripple). true 시 자식 클릭 표면에 data-ripple · false 시 data-no-ripple으로 하위 전체 비활성

API · Events

이벤트페이로드설명
update:currentnumberv-model:current — 페이지 변경
changenumber페이지 변경 시

클래스 · 속성

Vue 컴포넌트가 렌더하는 OOCSS 클래스입니다. HTML 마크업으로 직접 작성할 때 동일하게 조합합니다.

클래스설명
pagination · pagination_list · pagination_item루트·목록·항목
pagination_link · pagination_prev · pagination_next페이지·이전·다음 버튼
pagination_ellipsis생략 표시
pagination_simple · pagination_minimal · pagination_round스타일 변형
pagination_sm · pagination_lg크기
pagination_align-center · pagination_align-end정렬
pagination_wrap · pagination_total · pagination_jumper툴바 조합
is-active · is-disabled현재·비활성 페이지
aria-current="page"현재 페이지 표시
data-ripple클릭 파장 활성. data-ripple="surface"는 절대 위치 보조 버튼용
data-ripple="false"해당 요소 ripple 비활성
data-no-ripple하위 전체 ripple 비활성

디자인 토큰

토큰기본값설명
--pagination-gap · --pagination-item-size간격·버튼 크기
--pagination-font-size글자 크기