我的 LazyColumn 有一个非常奇怪的问题。我正在更新 ViewModel 中的 menuList 状态,视图会重新组合,但列表不会重绘。
当我使用调试器时,它会到达 LazyColumn 然后停止,这意味着不会用新数据重绘子级。任何想法为什么?谢谢!
我的观点:
val menuList = viewModel.menuData.observeAsState()
LazyColumn() { // <- Debugger stops here
items(menuList.value.sections.size) { i->
MenuItem(menuList.value[i])
}
}
我的视图模型:
private var menu: MenuUiState? = null
val menuData: MutableLiveData<MenuUiState> by lazy {
MutableLiveData<MenuUiState>()
}
// ...
menu?.sections?.forEach {
//update menu properties here
}
menuData.value = menu?.copy()