根据“ if”语句发出警报

马里奥·布尔加(Mario Burga)

根据变量的值,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包含一个值,则显示警报。

我的代码中的错误在哪里?

乌亚尔

我想当您像SwiftUI这样的代码接受最后一个时,您会看到“不是空警报”。但是,如果只编写一个“ .alert”块,则可以同时看到这两个警报。这是我的解决方案。

struct ContentView : View {
    var name = ""
    @State private var showAlert = 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: {

                self.showAlert.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: { name.isEmpty ? self.alert : self.alertok })
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据strategy.entry顺序发出警报

来自分类Dev

根据类属性发出警告

来自分类Dev

在React JS中的if / else语句中发出警报

来自分类Dev

用Java发出警报

来自分类Dev

如果使用0,则if语句应给出int并发出警报

来自分类Dev

发出警报消息时的呼叫功能

来自分类Dev

卸载Android应用时发出警报

来自分类Dev

音乐商店中的歌曲发出警报

来自分类Dev

检测到活动后发出警报

来自分类Dev

存储过程失败时发出警报

来自分类Dev

jQuery递归函数...然后,发出警报

来自分类Dev

开始闪亮时发出警报消息

来自分类Dev

图像消失并发出警报

来自分类Dev

在HTTP请求上发出警报

来自分类Dev

文件内容更改时发出警报

来自分类Dev

Windows启动时发出警报

来自分类Dev

使用选择对象发出警报

来自分类Dev

脚本加载时发出警报

来自分类Dev

卸载Android应用时发出警报

来自分类Dev

在循环javascript时发出警报

来自分类Dev

在PHP中使用echo发出警报

来自分类Dev

存储过程失败时发出警报

来自分类Dev

延迟加载后发出警报

来自分类Dev

该功能没有发出警报

来自分类Dev

Ajax 不发出警报就无法工作

来自分类Dev

在 ios 中发出警报的静默通知?

来自分类Dev

到达页面底部时发出警报,当我到达页面顶部时发出警报

来自分类Dev

函数 checkusername() 正在发出警报,但我不希望它发出警报

来自分类Dev

为什么jshint警报仅对lastSelectedRow发出警报