Swiftui 以编程方式调用NavigationLink?

Swiftui 以编程方式调用NavigationLink?,swiftui,navigationlink,Swiftui,Navigationlink,是否可以通过编程方式调用导航链接 这是可能的,但现在已经被否决了 var link1 = NavigationLink("Link Text", destination: MyView1()) var link1 = NavigationLink("Link Text", destination: MyView2()) //Something like this Button(action: { if (option == 1){

是否可以通过编程方式调用导航链接

这是可能的,但现在已经被否决了

var link1 = NavigationLink("Link Text", destination: MyView1())
var link1 = NavigationLink("Link Text", destination: MyView2())

//Something like this
           Button(action: {

            if (option == 1){
                self.link1.presented?.value = true
            }
            else{
                self.link2.presented?.value = true
            }
        }

我不知道如何帮助拨打导航链接,但也许我知道怎么做你想做什么

记住,在SwiftUI中我们使用结构,它们是静态的。因此,在代码运行时,不能将
self.link1.presented?.value
设置为
true

为此,您可以首先将此
var
更改为
@状态var
,这意味着SwiftUI将使此var成为动态的。记住这一点,您可以处理要显示的视图,只需保存标记的选项

我修改了您的代码以显示以下内容:

//begining of your struct
@State var selectedOption = 1 

//something changed the selectedOption
self.selectedOption = 2

//Here your NavigationLink ( use it without button)
NavigationLink("Link Text", destination: selectedOption == 1 ? View1 : View2)
希望有帮助