onFillData
Function
Common
fun SemanticsPropertyReceiver.onFillData(
label: String? = null,
action: ((FillableData) -> Boolean)?,
)
Action that an autofill service can invoke to fill the component with data.
The action will be called by the system, passing the FillableData that should be used to
update the component's state.
This is the counterpart to the fillableData property, which is used to provide the
component's current data to the autofill service.
Parameters
| label | Optional label for this action. |
| action | Action to be performed when SemanticsActions.OnFillData is called. The lambda receives the FillableData from the autofill service. |
Code Examples
AutofillableTextFieldWithFillableDataSemantics
@Composable
fun AutofillableTextFieldWithFillableDataSemantics() {
val state = rememberTextFieldState()
TextField(
state = state,
label = { Text("Enter your username here.") },
modifier =
Modifier.semantics {
contentType = ContentType.Username
// Set the fillable data with semantics.
FillableData.createFrom(state.text)?.let { fillableData = it }
// Replace the state value with data from the autofill provider.
onFillData { savedAutofillValue ->
savedAutofillValue.textValue?.let { state.edit { replace(0, length, it) } }
true
}
},
)
}
