根据条件确定 NavigationLink 是不是处于活动状态
Posted
技术标签:
【中文标题】根据条件确定 NavigationLink 是不是处于活动状态【英文标题】:Determining whether a NavigationLink is active based on a condition根据条件确定 NavigationLink 是否处于活动状态 【发布时间】:2020-11-10 06:52:26 【问题描述】:我有一个@State 变量,可以检测像这样按下按钮的次数
@State private var count = 0
我有一个导航链接,只有在计数为 5 时才应该处于活动状态。请注意,我希望该链接始终显示,因此我不想将 navigationLink 嵌入到 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'”。
【问题讨论】:
【参考方案1】:试试下面的
NavigationLink(destination: Text("hello world"),
isActive: .constant(count == 5), // << here !!
label: Text("press"))
【讨论】:
是的,现在看起来很明显以上是关于根据条件确定 NavigationLink 是不是处于活动状态的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 的文本块中嵌入 NavigationLink?
(SwiftUI) NavigationLink 不是屏幕的全宽
NavigationLink 不断将我的文本元素对齐到中心而不是领先 SwiftUI
Xcode 13.1 中的 Navigationlink 问题——空白而不是链接?