Prev / Next
Reactive API의 isReachStart, isReachEnd, moveTo를 사용하여 캐러셀 경계에서 자동으로 비활성화되는 네비게이션 버튼을 구현합니다.
- JavaScript
- React
- Vue@3
요약
주요 API
| 속성 / 메서드 | 타입 | 설명 |
|---|---|---|
isReachStart | boolean | 첫 번째 패널이 활성 상태인지 여부 |
isReachEnd | boolean | 마지막 패널이 활성 상태인지 여부 |
currentPanelIndex | number | 현재 활성화된 패널 인덱스 |
moveTo | (i: number) => Promise | 특정 패널로 이동 |
버튼 상태
| 위치 | 이전 버튼 | 다음 버튼 |
|---|---|---|
첫 번째 패널 (isReachStart) | 비활성화 | 활성화 |
| 중간 패널 | 활성화 | 활성화 |
마지막 패널 (isReachEnd) | 활성화 | 비활성화 |
상세 설명
동작 원리
isReachStart가true일 때 이전 버튼을 비활성화isReachEnd가true일 때 다음 버튼을 비활성화- 이전 클릭:
moveTo(currentPanelIndex - 1) - 다음 클릭:
moveTo(currentPanelIndex + 1) - 사용자가 드래그하여 새 패널로 이동하면 버튼 상태가 자동으로 동기화
관련 옵션
circular: true: 순환 모드에서는isReachStart와isReachEnd가 항상false이므로 두 버튼 모두 항상 활성화 상태를 유지합니다.
사용 시나리오
이런 경우에 사용하세요
- 드래그 조작이 잘 인지되지 않는 데스크톱 캐러셀
- 접근성(a11y) 키보드/버튼 네비게이션
- 터치가 비활성화된 환경
관련 링크
관련 API
isReachStart: 시작 경계 플래그isReachEnd: 끝 경계 플래그
관련 데모
- Pagination: 도트 페이지네이션
- Progress Bar: 스크롤 진행률 표시기