В зависимости от значения переменной name
Мне нужно показать предупреждение. Если оно пустое, оно должно показывать мне предупреждение, а если оно содержит значение, оно должно показывать другое предупреждение, мой код, который я использую,следующее:
struct ContentView : View {
var name = ""
@State private var showAlert = false
@State private var showAlertok = false
var alert: Alert {
Alert(title: Text("Error"), message: Text("it is empty"), dismissButton: .default(Text("OK")) )
}
var alertok: Alert {
Alert(title: Text("Message"), message: Text("It's not empty"), dismissButton: .default(Text("Ok")) {
// here action
print("OK button tapped")
})
}
var body: some View {
VStack {
Text("Title")
Button(action: {
if self.name.isEmpty {
print("it is empty")
self.showAlert.toggle()
} else {
print("It's not empty")
self.showAlertok.toggle()
}
}) {
HStack{
Image(systemName: "arrow.right.circle.fill")
Text("SEND")
.padding(.horizontal)
}
.padding()
.foregroundColor(Color.white)
.background(Color.purple)
.cornerRadius(.infinity)
} .alert(isPresented: $showAlert, content: { self.alert })
.alert(isPresented: $showAlertok, content: { self.alertok })
}
}
}
В предыдущем коде, если name
пусто, предупреждение не работает, оно только показывает мне значение print("it is empty")
на консоли. Если значение name
содержит значение, отображается предупреждение.
Где ошибка в моем коде?