@@ -46,6 +46,8 @@ import androidx.compose.runtime.setValue
4646import androidx.compose.ui.Alignment
4747import androidx.compose.ui.ExperimentalComposeUiApi
4848import androidx.compose.ui.Modifier
49+ import androidx.compose.ui.focus.FocusRequester
50+ import androidx.compose.ui.focus.focusRequester
4951import androidx.compose.ui.graphics.vector.ImageVector
5052import androidx.compose.ui.platform.LocalDensity
5153import androidx.compose.ui.platform.LocalSoftwareKeyboardController
@@ -99,6 +101,7 @@ fun <T> SearchableExpandedDropDownMenu(
99101 var expanded by remember { mutableStateOf(false ) }
100102 var filteredItems = mutableListOf<T >()
101103 val keyboardController = LocalSoftwareKeyboardController .current
104+ val focusRequester = remember { FocusRequester () }
102105 val itemHeights = remember { mutableStateMapOf<Int , Int >() }
103106 val baseHeight = 530 .dp
104107 val density = LocalDensity .current
@@ -150,6 +153,7 @@ fun <T> SearchableExpandedDropDownMenu(
150153 },
151154 ) {
152155 if (expanded) {
156+ focusRequester.requestFocus()
153157 Icon (
154158 imageVector = openedIcon,
155159 contentDescription = null ,
@@ -190,7 +194,8 @@ fun <T> SearchableExpandedDropDownMenu(
190194 OutlinedTextField (
191195 modifier = modifier
192196 .fillMaxWidth()
193- .padding(16 .dp),
197+ .padding(16 .dp)
198+ .focusRequester(focusRequester),
194199 value = searchedOption,
195200 onValueChange = { selectedSport ->
196201 searchedOption = selectedSport
@@ -210,7 +215,7 @@ fun <T> SearchableExpandedDropDownMenu(
210215 interactionSource = remember { MutableInteractionSource () }
211216 .also { interactionSource ->
212217 LaunchedEffect (interactionSource) {
213- keyboardController?.show ()
218+ focusRequester.requestFocus ()
214219 interactionSource.interactions.collect {
215220 if (it is PressInteraction .Release ) {
216221 onSearchTextFieldClicked()
0 commit comments