Android 带有Kotlin StateFlow的文本字段

Android 带有Kotlin StateFlow的文本字段,android,kotlin,android-jetpack-compose,kotlin-flow,Android,Kotlin,Android Jetpack Compose,Kotlin Flow,我希望将一个TextField绑定到来自视图模型的可变状态流。我是这样设置的: @Composable fun MyTextField(textFlow: MutableStateFlow<String>) { val state = textFlow.collectAsState(initial = "") TextField( value = TextFieldValue(state.value), onValu

我希望将一个TextField绑定到来自视图模型的可变状态流。我是这样设置的:

@Composable
fun MyTextField(textFlow: MutableStateFlow<String>) {
    val state = textFlow.collectAsState(initial = "")
    TextField(
        value = TextFieldValue(state.value),
        onValueChange = { textFlow.value = it.text },
        label = { Text(text = "Label") }
    )
}
@Composable
趣味MyTextField(textFlow:MutableStateFlow){
val state=textFlow.collectAsState(初始值=“”)
文本字段(
值=文本字段值(state.value),
onValueChange={textFlow.value=it.text},
label={Text(Text=“label”)}
)
}

当我在文本字段中键入内容时,它的行为非常奇怪。例如,如果我键入'asd',它将以'asdasa'结尾。如何更新
textFlow.value
而不使用文本字段?

为什么要从
onValueChange
侦听器中更改
textFlow
值?@Casablancais我认为需要它才能保持
textFlow
更新。是吗?您想要实现的功能到底是什么?@Casablancais我希望能够从视图模型中观察TextField的更改,并使用可变状态流从视图模型中更改TextField内容。