swiftui - 在通过 NavigationLink 导航到其他 View 之前,我该怎么做?

标签 swiftui navigationlink

让我展示一下简单的源代码:

struct ContentView : View {

    @State var isPresented = false
    var body: some View {        
            NavigationView {
                HStack{
                    NavigationLink(destination: MyDetailView(message: "Detail Page #2") ) {
                        Text("Go detail Page #2 >")
                    }
                    .navigationBarTitle("Index Page #1")
                }
            }

    }
}

在导航到 MyDetailView 之前,我想做一些事情,例如:保存一些数据,或者更改一些变量...

我该怎么做?

这可能是一个简单的问题,但我真的不知道。

感谢您的帮助!

最佳答案

我有一个简单的方法来解决这个问题:

struct ContentView : View {

    @State var isPresented = false
    var body: some View {        
            NavigationView {
                HStack{
                    NavigationLink(destination: MyDetailView(message: "Detail Page #2") ,isActive: $isPresented) {
                        Text("Go detail Page #2 >")
                            .onTapGesture
                             {
                                 //Do somethings here
                                 print("onTapGesture")
                                 //Navigate
                                 self.isPresented = true
                             }
                    }
                    .navigationBarTitle("Index Page #1")
                }
            }

    }
}

关于swiftui - 在通过 NavigationLink 导航到其他 View 之前,我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58572063/

相关文章:

swiftui - 如何让 SwiftUI NavigationLink 在编辑模式下工作?

ios - SwiftUI 中的 widgetURL

xcode - 如何使用 SwiftUI 从 TabView 内的 ForEach 中删除项目?

ios - 无法选择 SwiftUI TextField

swift - 确定何时在 SwiftUI 中加载 Google 横幅广告

list - 带有 NavigationLink 的 SwiftUI 列表如何在点击时自定义突出显示

ios - SwiftUI 对其 Root View 的一些 View

function - 有没有办法为 NavigationLink 添加额外的功能? swift 用户界面

swift - SwiftUI 中的推送、弹出 View Controller 等效项

SwiftUI:NavigationLink 在列表中时始终处于激活状态