首页 > 解决方案 > 如何在 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行为,我需要在我的代码库中对其进行调整。

标签: swiftui

解决方案


推荐阅读