Collection
배열 데이터의 보유 여부를 표시하고 룩업 팝업으로 항목을 선택하는 컬렉션 조회 컨트롤
개요
컬렉션(배열) 값을 직접 편집하지 않고, 보유 여부 텍스트(Collections/Empty)를 읽기 전용으로 표시하며 검색 버튼 클릭을 통해 룩업 팝업에서 항목 배열을 선택하는 패턴의 컨트롤입니다.
주요 특징
- ✅ 보유 여부 표시: 배열 값 존재 시
Collections, 없으면Empty표시 (텍스트 커스터마이징 가능) - ✅ 룩업 팝업 열기: 컨테이너/검색 아이콘 클릭 시 onClick 호출 (또는 renderContent 모달)
- ✅ 선택 결과 반영: 룩업에서 선택한 항목 배열이 onChange로 반영
- ✅ 선택 초기화: clearable X 버튼 클릭 시 빈 배열로 초기화
- ✅ FormItem 래핑: label, required, error 등 폼 레이블 지원
- ✅ 커스텀 스타일 / 가시성 제어: 토큰 오버라이드, visible prop 지원
기본 사용
value 배열의 존재 여부에 따라 보유/미보유 텍스트가 표시됩니다.
Preview
커스텀 텍스트
hasDataText / emptyText로 표시 텍스트를 변경할 수 있습니다.
Preview
룩업 팝업 열기 (심플 모드)
컨테이너 또는 검색 아이콘 클릭 시 onClick이 호출됩니다. 외부에서 룩업 팝업을 직접 구현하고, 선택 결과를 onChange 또는 value로 반영하는 패턴입니다.
Preview
고급 모드:
renderContent를 지정하면 Foundation Lookup의 모달 기반 동작을 사용합니다. 모달에서select(items)를 호출하면 선택된 항목 배열이onChange로 반영됩니다.
선택 초기화 (clearable)
값 보유 상태에서 X 버튼이 노출되며, 클릭하면 onChange([])로 빈 배열이 반영됩니다.
Preview
현재 항목 수: 3
비활성화 (disabled)
Preview
FormItem 래핑
label, required, error 등 FormItem props를 지원합니다.
Preview
컬렉션을 선택해주세요
Props
| Prop | Type | Default | 설명 |
|---|---|---|---|
value | T[] | - | 컬렉션 배열 값 (controlled) |
onChange | (value: T[]) => void | - | 선택 반영/초기화 콜백 (초기화 시 빈 배열) |
hasDataText | string | "Collections" | 컬렉션 보유 시 표시 텍스트 |
emptyText | string | "Empty" | 컬렉션 미보유 시 표시 텍스트 |
onClick | () => void | - | 룩업 팝업 열기 요청 (심플 모드) |
renderContent | (props: LookupRenderProps<T[]>) => ReactNode | - | 모달 룩업 콘텐츠 (고급 모드) |
modalOptions | LookupModalOptions | - | 모달 옵션 (title 등) |
clearable | boolean | false | 초기화 버튼 표시 (클릭 시 onChange([])) |
size | "xs" | "sm" | "md" | "lg" | "xl" | "md" | 크기 |
visible | boolean | true | 표시 여부 |
disabled | boolean | - | 비활성화 |
readOnly | boolean | - | 읽기 전용 |
width | string | number | - | 너비 |
label 등 | FormItem props | - | label/required/error 등 FormItem 래핑 지원 |
| 토큰 오버라이드 | backgroundColor color borderColor 등 | - | 스타일 토큰 오버라이드 |
관련 컴포넌트
- LookUp - 단일 값 조회 컨트롤 (Collection은 배열 값 특화 변형)
Last updated on