【发布时间】:2021-10-26 05:54:30
【问题描述】:
所以,我在viewModel 中有一个mutableStateListOf:
var childTravellersList = mutableStateListOf<TravellersDetails>()
TravellersDetails 是一个数据类,它有一个名为error 的字段。
childTravellersList 在 UI 中用作:
val list = remember{viewModel.childTravellersList}
LazyColumn(state = lazyColumnState) {
itemsIndexed(list) { index, item ->
SomeBox(show = if(item.error) true else false)
}
}
我在viewModel 中编写了一个函数,该函数将 TravellersDetails 的 error 更新为给定的 index 的 childTravellersList 为:
fun update(index){
childTravellersList[index].error = true
}
所以,每当我调用这个函数时,列表都应该更新。
这会更新列表,但不会触发 UI 重组 ????。 我哪里做错了?
【问题讨论】:
-
好问题。我也在这个上工作了几天。这在文档中的某处提到过吗?
-
它在文档中。但我没有看到。谢天谢地,@Philip 是救命稻草!
标签: android kotlin android-jetpack-compose android-jetpack