繁体   English   中英

点击登录按钮时如何更改视图?

[英]How to change the view when tap the sign in button?

@State private var email = ""
@State private var password = ""
@EnvironmentObject var session:SessionStore
@EnvironmentObject var viewRouter:ViewRouter

func signIn(email: email, password: password) { (result, error) in
    if let error = error {
        self.error = error.localizedDescription}
    else {
        self.email = ""
        self.password = ""
    }
}


var body: some View {
    
    if (error != "") {
        Text(error)
    }
    
    Button(action: {
        signIn()
        viewRouter.currentPage = .entrypage
        
    }, label: {
        Text("Sign In")
    })
    
}

当我点击登录按钮视图更改时,无论 email 和密码是否为空。 我想在 email 或密码为空时设置条件以显示错误,否则登录并更改视图。

有多种解决方案。 这是一个:如果没有电子邮件/密码,您可以在按钮上使用三元运算符来防止使用该按钮:.disabled(self.email == "" || self.password == "" )

针对您的评论编辑的答案:

Button(action: {
    if self.email == "" || self.password ==  "" {
       self.error = "Please enter your credentials first."
    }
    else {
       signIn()
       viewRouter.currentPage = .entrypage
    }
    
}, label: {
    Text("Sign In")
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM