上下文菜单中的导航链接不起作用

时间:2020-10-11 11:28:25

标签: swift swiftui-navigationlink swiftui

我在上下文菜单中有一个导航链接作为选项,但是它什么也没做。

.contextMenu{
    NavigationLink(destination: Text("Hello")){
        Label("Edit", systemImage: "pencil")
   }
 }                   

我不确定为什么,但找不到与此问题有关的任何信息。这是可行的还是我需要以其他方式实现?

1 个答案:

答案 0 :(得分:1)

NavigationLink应该在NavigationView中,但是contextMenu在NavigationView的上下文之外,因为它在自己的视图层次结构中。

一种可能的解决方案是通过上下文菜单中的按钮激活链接,例如

@State private var showEdit = false

// ...

.background(
    NavigationLink(destination: Text("Hello"), isActive: $showEdit){
       EmptyView()
   }
)
.contextMenu {
    Button(action: { self.showEdit = true }) {
        Label("Edit", systemImage: "pencil")
    }
 }