在 SwiftUI 中点击 NavigationLink 标签时如何执行操作?

问题描述 投票:0回答:1
struct ContentView: View {
@State var num = 0
var body: some View {
    VStack {
        NavigationStack {
            NavigationLink(destination: {
                Text("Number: \(num)")
            }, label: {
                Text("tap here").onTapGesture {
                   num += 1
                    print("\(num)")
                }
            })
        }
    }
}

}

在这段代码中,当我点击“点击这里”NavigationLink 时,它不会导航到新页面,它会卡在 onTapGesture 中,只是增加点击时的值。

有什么方法可以同时使用NavigationLink进行导航和操作吗?

ios swiftui swiftui-navigationlink swiftui-navigationstack
1个回答
0
投票

您可以在

.onAppear
进行相关处理:

NavigationStack {
    NavigationLink("tap here") {
        Text("Number: \(num)")
            .onAppear {
                num += 1
                print("\(num)")
            }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.