NavigationLink,isActive在SwiftUI中不起作用

时间:2019-10-13 11:28:52

标签: ios swift swiftui

我正在尝试以编程方式将当前视图更改为其他视图,但是NavigationLink的isActive属性无法正常工作,我想我忘记了一些东西。

USAGE

此视图始终显示“你好”,而不是重定向到ContentView

2 个答案:

答案 0 :(得分:1)

我解决了这个问题,该错误被放入Text(“ hello”)。 答案很简单:

 NavigationView{
            if(pushActive){
                NavigationLink(destination: ContentView(), isActive: $pushActive) {
                    Text("")

                }.hidden()
            }else{
                Text("hello")
            }

答案 1 :(得分:0)

NavigationView 只接受第一个孩子,这就是它不起作用的原因。试试这个:

    struct MainView: View {
        @State public var pushActive = true

        var body: some View {
            NavigationView {
                VStack {
                    Text("hello")
                    NavigationLink(destination: ContentView(), isActive: $pushActive) {
                        Text("")
                    }.hidden()
                }
            }.onAppear {
                self.pushActive = true
            }
        }
    }