Ios SwiftUI:如何使NavigationLink不去任何地方并停留在当前视图上

Ios SwiftUI:如何使NavigationLink不去任何地方并停留在当前视图上,ios,swift,swiftui,swiftui-navigationlink,Ios,Swift,Swiftui,Swiftui Navigationlink,我正在我的应用程序中进行一些表单验证,因此我不希望导航链接转到指定的目的地,除非满足某些条件。因此,是否可以以某种方式将目标设置为nil或类似值,以便在按下导航链接时,如果不满足条件,它将保留在当前视图中?请改用按钮,并在验证后以编程方式激活隐藏的NavigationLink。这里有一个例子 struct DemoView: View { @State private var isValid = false var body: some View { Navig

我正在我的应用程序中进行一些表单验证,因此我不希望导航链接转到指定的目的地,除非满足某些条件。因此,是否可以以某种方式将目标设置为nil或类似值,以便在按下导航链接时,如果不满足条件,它将保留在当前视图中?

请改用按钮,并在验证后以编程方式激活隐藏的NavigationLink。这里有一个例子

struct DemoView: View {
    @State private var isValid = false

    var body: some View {
        NavigationView {
            Button("Validate") {
                // some validate code here like
                self.isValid = self.validate()
            }
            .background(
                NavigationLink(destination: Text("Destination"), isActive: $isValid) { EmptyView() }
            )
        }
    }
    
    private func validate() -> Bool {
        return true
    }
}