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)
希望有帮助