以编程方式调用NavigationLink?

时间:2019-10-19 11:36:45

标签: swiftui navigationlink

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

有可能,但现在已弃用。

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
            }
        }

1 个答案:

答案 0 :(得分:1)

我不知道如何帮助您调用导航链接,但也许我知道您要做什么的方法。

请记住,在SwiftUI中,我们使用结构,它们是ngOnInit() { this.upSvc.getUploads().subscribe( list => { this.imageList = list.map(item => { return { $key: item.payload.doc.id, ...item.payload.doc.data() } as Upload; } ); this.rowIndexArray = Array.from(Array(Math.ceil(this.imageList.length / 3)).keys()); console.log(this.imageList); } ); } } 。因此,您无法在代码运行时将static设置为self.link1.presented?.value

为此,您可以先将此true更改为var,这意味着SwiftUI将使此var动态。考虑到这一点,您只需保存标记了哪个选项,就可以处理将显示的视图。

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

@State var

希望有帮助!