forEachChange
Function
Common
@ExperimentalFoundationApi
inline fun ChangeList.forEachChange(block: (range: TextRange, originalRange: TextRange) -> Unit)
Iterates over all the changes in this ChangeList.
Changes are iterated by index, so any changes made by block after the current one will be
visited by block. block should not make any new changes before the current one or changes
will be visited more than once. If you need to make changes, consider using
forEachChangeReversed.
Code Examples
BasicTextFieldChangeIterationSample
@Composable
fun BasicTextFieldChangeIterationSample() {
// Print a log message every time the text is changed.
BasicTextField(
state = rememberTextFieldState(),
inputTransformation = {
changes.forEachChange { sourceRange, replacedLength ->
val newString = asCharSequence().substring(sourceRange)
println("""$replacedLength characters were replaced with "$newString"""")
}
},
)
}
