[Swiftui] 觸發 Navigationlink by code

之前以為是沒辦法做到的 用button來觸發Navigation link

後來找到 Navigationlink 的進階用法

可以用flag的方式 來觸發Navigationlink的動作

引伸出來,可以用button 或是timer 來觸發,或是不只一個目標 的變化。

不囉唆,看code:

========================================================

struct main_page: View {

    @State private var selection: String? = nil


    var body: some View {

        VStack{

            NavigationLink(destination: page_1(), tag: "page_1", selection: $selection) { EmptyView() }

            NavigationLink(destination: page_2(), tag: "page_2", selection: $selection) { EmptyView() }


            Button(action: {

                self.selection = "page_1"

            }) {

                Text("Goto Page 1")

            }

            Button(action: {

                self.selection = "page_2"

            }) {

                Text("Goto Page 2")

            }

        }

    }

}

留言

這個網誌中的熱門文章

Ubuntu 64bit 32bit 的問題

[RDKM] Set up Env. in Windows10 WSL