Autocomplete

사용자가 텍스트를 입력할 때 실시간으로 관련된 옵션을 제안하여 빠르고 정확한 입력을 돕는 요소입니다. 텍스트 입력 필드와 Menu가 결합된 형태로, 입력 오류를 방지하며 사용자가 가능한 옵션을 탐색할 수 있도록 지원합니다.

WantedAutoComplete

섹션별 아이템을 구성할 수 있는 자동 완성 Dropdown 컴포넌트입니다. 섹션 타이틀과 아이템을 표시하고, 상단 및 하단에 커스텀 콘텐츠를 배치할 수 있습니다. 스크롤 시 현재 섹션의 타이틀이 상단에 고정됩니다.

var expanded by remember { mutableStateOf(false) }

ExposedDropdownMenuBox(
    expanded = expanded,
    onExpandedChange = { expanded = it }
) {
    WantedAutoComplete(
        expanded = expanded,
        onExpandedChange = { expanded = it },
        sectionCount = 2,
        sectionTitle = { section -> "섹션 $section" },
        sectionItemCount = { section -> 3 },
        sectionItem = { section, index ->
            Text("아이템 $index")
        }
    )
}

Parameters

이름타입설명
expandedBoolean드롭다운 확장 여부입니다.
onDismissRequest(Boolean) -> Unit확장 상태가 변경될 때 호출되는 콜백입니다.
sectionCountInt표시할 섹션의 총 개수입니다.
sectionItemCount(Int) -> Int각 섹션별 아이템 개수를 반환하는 함수입니다.
sectionItem(@Composable (Int, Int) -> Unit)섹션별 아이템 컴포넌트입니다. 첫 번째 파라미터는 섹션 인덱스, 두 번째는 아이템 인덱스입니다.
modifierModifier컴포넌트에 적용할 Modifier입니다.
containerColorColor드롭다운 배경 색상입니다.
sectionTitleHorizontalPaddingDp섹션 타이틀의 좌우 패딩입니다.
sectionTitle((Int) -> String)?섹션별 타이틀 텍스트를 반환하는 함수입니다.
topDirectInput(@Composable () -> Unit)?드롭다운 상단 고정 영역 콘텐츠입니다.
bottomDirectInput(@Composable () -> Unit)?드롭다운 하단 영역 콘텐츠입니다.

© 2026 Wanted Lab, Inc.