swiftui - 如何在 SwiftUI 视图中重用警报对话框?
问题描述
Alert
每当发生某些错误情况时,我希望能够在我的所有视图中显示错误弹出窗口 ( )。
在“逻辑”方面,这可以通过实现ViewModel
包含以下内容的基类来完成:
@Published var showError: Bool = false
@Published var errorMessage: String = ""
如果发生错误,任何子类都可以设置这些值。
然而,问题就在View
一边。我需要将以下代码添加到每个View
可以显示警报的代码中:
.alert(isPresented: $viewModel.showError) {
return Alert(title: Text("error"), message: Text(viewModel.errorMessage), dismissButton: .default(Text("ok")))
}
有没有办法不必到处复制粘贴?否则,如果我想改变Alert
行为,我需要在我的代码库中对其进行调整。
解决方案
推荐阅读
- javascript - 正确传递结构(js)
- zsh - Tmux 总是显示主机名而不是应用程序正在运行
- sql - sqlite3 为每天返回 x 天的单独列
- c++ - 如何使用 SFINAE 区分 MyMap、std::map 和 std::unordered_map?
- utf-8 - 如何在 openstack 安装期间解决这个 UTF-8 问题?
- python - 单独尝试...除了在代码的不同部分还是在代码的开头和结尾单独尝试会更好吗?
- reactjs - 是否可以将 react-datepicker 与反应钩子形式一起使用?
- java - 如何在 Optional 中的 orElse 中返回值?
- ios - 无法在 vscode 的 iOS 模拟器中启动应用程序
- django - 在 Django 视图中运行查询