在第一个警报上按下“确认”按钮后,我试图显示确认警报。 提示:您按下按钮,然后弹出警报,要求您取消或确认操作。当您按“取消”时,警报将被取消,而当您按“确认”时,将执行该操作,并弹出第二个警报,提示内容为(标题:“成功”,消息:“该操作成功”),只是一个“关闭”按钮。 第一个警报可以正常工作并且可以执行操作,但是当我在第一个警报之后立即添加第二个警报时,按按钮时第一个警报将不再显示。
代码:
Group {
Button(action: { self.showingAdminAlert = true }, label: {
Text("Als Admin hinzufügen").fontWeight(.bold).font(.system(size: 15)).padding().background(Color.gray).cornerRadius(40).foregroundColor(.white).padding(10).overlay(RoundedRectangle(cornerRadius: 40).stroke(Color.gray, lineWidth: 5))
}).padding().padding()
}.alert(isPresented: $showingAdminAlert) {
Alert(title: Text("Bestätigung erforderlich"), message: Text("Wollen sie \(data.vn) \(data.nn) wirklich die Berechtigung Admin erteilen?"), primaryButton: .cancel(Text("Abbrechen")), secondaryButton: .default(Text("Bestätigen")) {
self.AddUserAsAdmin()
self.showingAdminAlertConfirmation = true
})
}.alert(isPresented: $showingAdminAlertConfirmation) {
Alert(title: Text("Erfolgreich"), message: Text("Berechtigung Admin erfolgreich an \(data.vn) \(data.nn) vergeben!"), dismissButton: .default(Text("Zurück")))
}
答案 0 :(得分:1)
import SwiftUI
struct ContentView: View
{
@State var showAlert: Bool = false
@State var showingAdminAlertConfirmation: Bool = false
var body: some View {
let Bestätigung = Alert(title: Text("Bestätigung erforderlich"), message: Text("wirklich die Berechtigung Admin erteilen?"), primaryButton: .cancel(Text("Abbrechen")), secondaryButton: .default(Text("Bestätigen")) {showingAdminAlertConfirmation = true; DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {showAlert = true} } )
let Erfolgreich = Alert(title: Text("Erfolgreich"), message: Text("Berechtigung Admin erfolgreich an vergeben!"), dismissButton: .default(Text("Zurück")) {showAlert = false; showingAdminAlertConfirmation = false} )
Button(action: { showAlert = true }, label: {
Text("Als Admin hinzufügen").fontWeight(.bold).font(.system(size: 15)).padding().background(Color.gray).cornerRadius(40).foregroundColor(.white).padding(10).overlay(RoundedRectangle(cornerRadius: 40).stroke(Color.gray, lineWidth: 5))
})
.padding().padding()
.alert(isPresented: $showAlert) { showingAdminAlertConfirmation ? Erfolgreich : Bestätigung}
}
}