在SwiftUI中,alert修饰符用于在屏幕上显示警报。它有一个可选的actions参数,它是一个数组,其中包含了一些操作按钮。这个参数的类型是一个数组,它的元素是Alert.Button类型。
例如,这是一个显示警报的简单示例,其中包含了两个操作按钮:
struct ContentView: View {
@State private var showAlert = false
var body: some View {
Button("Show Alert") {
self.showAlert = true
}
.alert(isPresented: $showAlert) {
Alert(title: Text("Important Message"), message: Text("This is an alert message."), primaryButton: .default(Text("OK")), secondaryButton: .cancel())
}
}
}
在这个示例中,actions参数没有被明确地传递,因为警报只包含了一个OK操作按钮和一个Cancel操作按钮。如果你想自定义actions参数,可以这样做:
struct ContentView: View {
@State private var showAlert = false
var body: some View {
Button("Show Alert") {
self.showAlert = true
}
.alert(isPresented: $showAlert) {
Alert(title: Text("Custom Alert"), message: Text("Do you want to proceed?"), primaryButton: .default(Text("Yes")), secondaryButton: .cancel(), tertiaryButton: .destructive(Text("No"), action: {
print("You chose No")
}))
}
}
}
在这个示例中,我们定义了一个自定义的actions参数,它包含了三个按钮:一个“Yes”按钮,一个“Cancel”按钮,和一个“No”按钮,当你点击"No"按钮时会执行一个自定义的动作。