根据条件确定 NavigationLink 是否处于活动状态

Determining whether a NavigationLink is active based on a condition

我有一个 @State 变量,它检测一个按钮被按下了多少次

@State private var count = 0

我有一个导航 link,只有当计数为 5 时才应该激活。请注意,我希望 link 始终显示,所以我不想嵌入导航链接在 if 语句中。

这是我试过的

NavigationLink(destination: Text("hello world"), isActive: count == 5, label: {Text("press")})

我也试过了

NavigationLink(destination: Text("hello world"), isActive: count == 5 ? true : false, label: {Text("press")})

我没想到结果会有所不同,但我试了一下。我收到错误“无法将类型 'Bool' 的值转换为预期的参数类型 'Binding'”。

尝试以下方法

NavigationLink(destination: Text("hello world"), 
   isActive: .constant(count == 5),               // << here !!
   label: {Text("press")})