[英]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.