我知道它的新,但这似乎是相当基本的功能,不在这里。当在新的iOS 15中实现.searchable
时,NavigationLink似乎根本不起作用。
理想情况下,可搜索的将生成一个带有ForEach的过滤列表,对于每个项目,一个导航链接可以根据您的选择将您带到另一个视图。Foreach和列表的工作和看起来很漂亮,它只是不会带你去任何地方。
观看WWDC 21,他们谈了很多关于.searchable
的事情,但是很少给出演示/例子。
下面是一个简单的例子,没有ForEach循环,说明它根本不工作。我错过了什么吗?
任何见解赞赏:
import SwiftUI
struct ContentView: View {
@State private var term = ""
var body: some View {
NavigationView {
Text("Hello, world!")
.padding()
}
.searchable(text: $term) {
NavigationLink(destination: SecondView()) {
Text("Go to second view")
}
}
}
}
struct SecondView: View {
var body: some View {
Text("Goodbye!")
.padding()
}
}
字符串
2条答案
按热度按时间zujrkrfu1#
NavigationLink
必须始终在NavigationView
内部,无论如何。如果你想把它放在外面,比如在.searchable
里面,你应该使用programmatic navigation withisActive
。字符串
测试结果:
的数据
pxyaymoc2#
我的2美分使用苹果文档的数据。
一些注意事项:
1.您必须在NavigationView中包含列表(iOS17的NavigationStack,因为NavigationView已被弃用)
1.即使苹果的文档(和网络上的许多)似乎是这样说的,没有Nav..XX不工作:尝试自己评论Nav..XX
字符串
}