생성되는 컴포넌트 종류
IdAsyncSelect
Entity 레코드 검색 선택서버 검색 지원
OrderBySelect
정렬 옵션 선택Enum 기반
SearchFieldSelect
검색 대상 필드 선택동적 검색 조건
StatusSelect
상태/역할 선택Enum 기반
1. IdAsyncSelect
생성 조건
모든 Entity에 대해 자동 생성됩니다.파일 위치
UserIdAsyncSelect.tsxProjectIdAsyncSelect.tsxCompanyIdAsyncSelect.tsx
코드 구조
사용 예시
주요 기능
1. 서버 검색:- 사용자가 입력한 키워드로 백엔드 API 호출
- 실시간 검색 결과 표시
- 대용량 데이터에도 빠른 검색
username (email) 형식이지만, 컴포넌트 파일을 직접 수정하여 변경 가능합니다.
IdAsyncSelect vs 일반 Select
- IdAsyncSelect: 수백~수천 개 이상의 레코드 (검색 필수)
- 일반 Select: 10~50개 이하의 고정된 옵션
2. OrderBySelect
생성 조건
Entity의OrderBy enum이 정의되면 자동 생성됩니다.
파일 위치
코드 구조
사용 예시
OrderBy Enum 정의
백엔드에서 정의됩니다.3. SearchFieldSelect
생성 조건
Entity의SearchField enum이 정의되면 자동 생성됩니다.
파일 위치
코드 구조
사용 예시
SearchField Enum 정의
SearchField vs SearchInput
- SearchFieldSelect: 검색 대상 필드 선택 (ID, 이름, 이메일 등)
- Input (keyword): 실제 검색어 입력
4. StatusSelect (Enum Select)
생성 조건
Entity에 Enum 타입의 필드가 정의되면 자동 생성됩니다.파일 위치
ProjectStatusSelect.tsx(Project의 status 필드)UserRoleSelect.tsx(User의 role 필드)
코드 구조
사용 예시
목록 필터링
폼 입력
Enum 정의
백엔드 Entity에서 정의합니다.컴포넌트 커스터마이징
언제 수정해야 하나요?
자동 생성된 컴포넌트는 초기 템플릿이므로 프로젝트 요구사항에 맞게 수정할 수 있습니다. 수정이 필요한 경우:- IdAsyncSelect의 레이블 포맷 변경
- 검색 대상 Subset 변경
- placeholder, className 등 기본 스타일 변경
- 추가 필터링 로직
수정 예시 1: IdAsyncSelect 레이블
수정 예시 2: 검색 Subset 변경
기본적으로 Subset “A”를 사용하지만, 더 많은 정보가 필요하면 변경 가능합니다.수정 예시 3: 추가 필터링
특정 조건의 사용자만 검색하려면:재생성 정책
자동 생성 파일인가요?
아니오. 한 번만 생성되고 이후에는 재생성되지 않습니다.재생성이 필요한 경우
- Entity 구조가 크게 변경됨
- 기존 컴포넌트를 삭제하고 처음부터 다시 시작하고 싶음
스캐폴딩 파일이 컴포넌트들은 “스캐폴딩 파일”입니다. 즉, 초기 템플릿을 제공하고 이후에는 개발자가 자유롭게 수정하는 파일입니다.
sonamu.generated.ts 같은 “실시간 동기화 파일”과는 다릅니다.사용 패턴
목록 페이지 필터
폼 입력
관련 문서
- IdAsyncSelect 상세 - IdAsyncSelect 심화 사용법
- useListParams - 목록 필터링 훅
- Service 사용하기 - API 호출
- Entity 정의 - 백엔드 Entity 구조