我想运行帐户创建逻辑,然后,如果成功,转换到目标视图。否则,我将提供错误表。NavigationLink 会立即转换到目标视图。
如果我使用 isActive 重载和空字符串作为文本(它创建一个具有零帧的视图)创建一个幻影 NavigationLink,我可以让它工作。然后,我使用显示给用户的按钮切换 isActive 属性,该按钮首先运行帐户创建逻辑,并在链的末尾将 NavigationLink 切换为活动状态。我在一个 NavigationView 里面。
@State private var isActive: Bool = false
NavigationView {
// Name, Email, Password Textfields here
// Button to run account creation logic:
Button(action: {
// Account creation promise chain here, then...
self.isActive.toggle()
}) {
Text("Create Account")
}
// Phantom navigation link:
NavigationLink("", destination: VerifyEmailView(email: email), isActive: self.$isActive)
}
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?从按钮触发运行帐户创建逻辑,然后激活虚拟导航链接以转换到下一个屏幕似乎是不好的做法。
swiftui ×1