无法从 OutlinedTextField 中的变量设置默认值

问题描述 投票:0回答:1

我正在使用 Compose 开发 Android 应用程序,我有一个用户填写的表单,并将其添加到列表中,如果用户再次点击列表中的项目,我需要再次显示填写了数据的表单。

以下是我的代码:

var name by remember { mutableStateOf(inventoryItem.name ?: "") }
OutlinedTextField(
    value = name,
    onValueChange = { name = it },
    label = { Text("Item") },
    modifier = Modifier.fillMaxWidth()
 )

但是它没有设置变量的值,而是显示空值。如果我在 mubaleStateOf 中对名称进行硬编码,它就可以工作。 mutableStateOf 不接受变量的默认值。

我希望用项目信息填充文本字段,请建议我可以做什么来用变量中的数据填充文本字段,因为列表中的每个项目都会有不同的数据。

android-jetpack-compose
1个回答
0
投票

尝试在记住部分添加初始化程序:

var name by remember(inventoryItem.name ?: "") { mutableStateOf(inventoryItem.name ?: "") }

© www.soinside.com 2019 - 2024. All rights reserved.