InlineEditToolbar
목록/테이블의 인라인 편집 작업을 위한 도구 모음 컴포넌트
개요
InlineEditToolbar는 목록이나 테이블에서 행을 추가·수정·삭제·저장·취소하는 인라인 편집 작업을 제어하는 도구 모음입니다.
주요 특징
- ✅ 모드 기반 상태 관리: addMode, editMode, deleteMode로 현재 편집 모드를 제어
- ✅ 선택적 버튼 표시: showAdd, showEdit, showDelete, showSave로 개별 버튼 표시/숨김
- ✅ 상호 배타적 비활성화: 한 모드가 활성일 때 다른 모드 버튼이 자동 비활성화
- ✅ 삭제 모드 전환: 삭제 모드 진입 시 삭제 모드 버튼이 삭제 확인 버튼으로 교체
- ✅ 가시성 제어: visible prop으로 전체 도구 모음 표시/숨김
- ✅ 접근성: role=“toolbar”와 각 버튼의 aria-label 제공
기본 사용
showAdd, showEdit, showDelete, showSave prop으로 필요한 버튼을 선택적으로 표시합니다.
Preview
모드 전환
버튼 클릭 시 모드가 전환되고, 활성 모드에 따라 다른 버튼의 활성/비활성 상태가 자동으로 변경됩니다.
Preview
현재 모드: none
버튼 동작 규칙
| 버튼 | 표시 조건 | 비활성화 조건 | 이벤트 |
|---|---|---|---|
| 추가 | showAdd | editMode 또는 deleteMode 활성 (addMode 아닐 때) | onAdd |
| 수정 | showEdit | addMode, editMode, deleteMode 중 하나 활성 | onEdit |
| 삭제 모드 | showDelete & !deleteMode | addMode 또는 editMode 활성 | onDeleteMode |
| 저장 | showSave | addMode, editMode 모두 비활성 | onSave |
| 삭제 확인 | showDelete & deleteMode | - | onDelete |
| 취소 | 항상 표시 | 모든 모드 비활성 | onCancel |
API Reference
Props
| Prop | Type | Default | 설명 |
|---|---|---|---|
visible | boolean | true | 표시 여부 |
addMode | boolean | false | 추가 모드 활성 여부 |
editMode | boolean | false | 수정 모드 활성 여부 |
deleteMode | boolean | false | 삭제 모드 활성 여부 |
showAdd | boolean | false | 추가 버튼 표시 여부 |
showEdit | boolean | false | 수정 버튼 표시 여부 |
showDelete | boolean | false | 삭제 관련 버튼 표시 여부 |
showSave | boolean | false | 저장 버튼 표시 여부 |
className | string | - | 컨테이너에 적용할 className |
Events
| Event | Type | 설명 |
|---|---|---|
onAdd | () => void | 추가 버튼 클릭 시 호출 |
onEdit | () => void | 수정 버튼 클릭 시 호출 |
onDeleteMode | () => void | 삭제 모드 전환 버튼 클릭 시 호출 |
onDelete | () => void | 삭제 확인 버튼 클릭 시 호출 |
onSave | () => void | 저장 버튼 클릭 시 호출 |
onCancel | () => void | 취소 버튼 클릭 시 호출 |
접근성
- 컨테이너에
role="toolbar"와aria-label="인라인 편집 도구 모음"설정 - 각 버튼에
aria-label로 기능 이름 제공 (추가, 수정, 삭제 모드, 저장, 삭제, 취소) - 비활성화된 버튼에
disabled속성 자동 설정
관련 컴포넌트
- Button - 개별 버튼 컴포넌트
Last updated on