# AutocompleteSearchInput 컴포넌트 자동완성 드롭다운 방식의 엔티티 검색 입력 컴포넌트입니다. ## 특징 - 타이핑하면 즉시 드롭다운 표시 - 빈 값일 때 전체 목록 조회 - 추가 정보 표시 가능 - X 버튼으로 선택 초기화 - 외부 클릭 시 자동 닫힘 - **필드 자동 매핑**: 선택한 항목의 값을 화면의 다른 입력 필드에 자동으로 채움 ## 사용 예시 ### 기본 사용 ```tsx { console.log("선택됨:", code, fullData); }} /> ``` ### 필드 자동 매핑 사용 ```tsx { console.log("선택됨:", code, fullData); // 필드 매핑은 자동으로 실행됩니다 }} /> ``` ## 설정 옵션 ### 기본 설정 - `tableName`: 검색할 테이블명 - `displayField`: 표시할 필드 - `valueField`: 값으로 사용할 필드 - `searchFields`: 검색 대상 필드들 - `placeholder`: 플레이스홀더 - `showAdditionalInfo`: 추가 정보 표시 여부 - `additionalFields`: 추가로 표시할 필드들 ### 값 필드 저장 위치 설정 (고급) - `valueFieldStorage`: 값 필드 저장 위치 지정 - `targetTable`: 저장할 테이블명 (미설정 시 화면 연결 테이블) - `targetColumn`: 저장할 컬럼명 (미설정 시 바인딩 필드) ### 필드 자동 매핑 설정 - `enableFieldMapping`: 필드 자동 매핑 활성화 여부 - `fieldMappings`: 매핑할 필드 목록 - `sourceField`: 소스 테이블의 컬럼명 (예: customer_name) - `targetField`: 타겟 필드 ID (예: 화면의 input id 속성) - `label`: 표시명 (선택사항) ## 필드 자동 매핑 동작 방식 1. 사용자가 검색 컴포넌트에서 항목을 선택합니다 2. 선택된 항목의 데이터에서 `sourceField`에 해당하는 값을 가져옵니다 3. 화면에서 `targetField` ID를 가진 컴포넌트를 찾습니다 4. 해당 컴포넌트에 값을 자동으로 채워넣습니다 5. React의 change 이벤트를 트리거하여 상태 업데이트를 유발합니다 ## 주의사항 - 타겟 필드 ID는 화면 디자이너에서 설정한 컴포넌트 ID와 정확히 일치해야 합니다 - 필드 매핑은 input, textarea 타입의 요소에만 동작합니다 - 여러 필드를 한 번에 매핑할 수 있습니다