我使用 iOS15 修饰符的 SwiftUI searchable 使用 onSubmit 修饰符进行搜索以发送 HTTP 请求,并且我还想在用户点击取消按钮时重置初始列表;如果我找到了 onCancel 修饰符,我将不胜感激。有人卖这个吗?
1 回答
4
.searchable 附带了两个环境值,即 isSearching 和dismissSearch。
@Environment(\.isSearching) private var isSearching: Bool
@Environment(\.dismissSearch) private var dismissSearch
如果我们有如下的可搜索代码
.searchable(text: self.$searchText)
然后我们可以检测到搜索被取消,如下面的片段。
.onSubmit(of: .search) {
//Search triggered on tap of search button in keyboard
}
.onChange(of: searchText) { value in
if searchText.isEmpty && !isSearching {
//Search cancelled here
}
}
尝试使用这种方法,同时苹果希望在即将发布的版本中为我们提供一些 .onCancel(.search) 修饰符。
于 2022-02-01T04:09:02.763 回答