@Composable fun ListScreen( vm: UIViewModel, onItemSelected: (Kiroku) -> Unit, onClickFAB: () ->Unit, onClickSearch: () -> Unit, onClickReference: () -> Unit, ) { //表示画面 val scaffoldState = rememberScaffoldState()
if (vm.snackbarMessages.size != 0) {
LaunchedEffect(scaffoldState.snackbarHostState) {
while (vm.snackbarMessages.size != 0) {
scaffoldState.snackbarHostState.showSnackbar("${vm.snackbarMessages[0]}")
vm.snackbarMessages = vm.snackbarMessages.drop(1)
}
}
}
Scaffold(
scaffoldState = scaffoldState,
topBar = { ListTopBar(onClickSearch, onClickReference) },
floatingActionButton = { ListFAB(vm, onClickFAB)},
//drawerContent = {},
//content = { KirokuContent() },
bottomBar = { KirokuBottomBar() },
) {
ListContent(vm, onItemSelected)
}
}
他の場所でこのvm.snackbarMessagesに要素を追加する fun onClickSave() { Graph.repo.update(vm.kirokuEditting.value) vm.snackbarMessages = vm.snackbarMessages + “保存しました id:${vm.kirokuEditting.value.id}” }