Swiftui LazyVGrid OnTappsive导航到下一屏幕快捷界面

Swiftui LazyVGrid OnTappsive导航到下一屏幕快捷界面,swiftui,swiftui-navigationlink,Swiftui,Swiftui Navigationlink,我对swiftUI还是个新手。我已经在点击时创建了一个网格视图,我想在该视图上转到下一个屏幕。但不知何故,我无法设法推到下一个屏幕。我是这样做的: var body: some View { NavigationView { ScrollView { LazyVGrid(columns: gridItems, spacing: 16) { ForEach(viewModel.pokemon) { pokemo

我对swiftUI还是个新手。我已经在点击时创建了一个网格视图,我想在该视图上转到下一个屏幕。但不知何故,我无法设法推到下一个屏幕。我是这样做的:

    var body: some View {
    NavigationView {
        ScrollView {
            LazyVGrid(columns: gridItems, spacing: 16) {
                ForEach(viewModel.pokemon) { pokemon in
                    PokemonCell(pokemon: pokemon, viewModel: viewModel)
                        .onTapGesture {
                            NavigationLink(destination: PokemonDetailView(pokemon: pokemon)) {
                                Text(pokemon.name)
                            }
                        }
                }
            }
        }
        
        .navigationTitle("Pokedex")
    }
    
}
在这样做的时候,我得到了一个警告

“NavigationLink”初始值设定项的结果未使用


有人能告诉我怎么做吗?

.ontapsignate
添加了一个动作,以便在视图识别点击手势时执行。在您的情况下,不需要使用
.ontapsignate
。如果您想在点击单元格时转到另一个视图,则需要编写
NavigationLink
,如下所示



如果您想使用
.ontapsignate
,另一种方法是为您点击的单元格的口袋妖怪创建
@State
,并使用
NavigationLink
isActive
绑定。因此,当用户点击单元格时,它将更改
@状态
,并在
.ontapsignature
中切换
isActive
。您可能需要为此添加另一个堆栈(
ZStack
等)

NavigationView {
              ZStack {
                NavigationLink("", destination: PokemonDetailView(pokemon: pokemon), isActive: $isNavigationActive).hidden()
                ScrollView {
                            // ...

.ontapsignate
添加视图识别点击手势时要执行的操作。在您的情况下,不需要使用
.ontapsignate
。如果您想在点击单元格时转到另一个视图,则需要编写
NavigationLink
,如下所示



如果您想使用
.ontapsignate
,另一种方法是为您点击的单元格的口袋妖怪创建
@State
,并使用
NavigationLink
isActive
绑定。因此,当用户点击单元格时,它将更改
@状态
,并在
.ontapsignature
中切换
isActive
。您可能需要为此添加另一个堆栈(
ZStack
等)

NavigationView {
              ZStack {
                NavigationLink("", destination: PokemonDetailView(pokemon: pokemon), isActive: $isNavigationActive).hidden()
                ScrollView {
                            // ...