SwiftUI 使用带有输入/搜索按钮的可搜索修饰符

lcj*_*lcj 4 swiftui

我想在 swiftui 中使用可搜索修饰符,但正在调用 webapi 并且不想对每个字符都这样做。我见过的大多数示例,例如这个这个都在每个字符(或可能是一定数量的字符)上搜索,但我只想在输入/搜索键上搜索。我还没有看到这样的例子。以前有人这样做过吗?

我是 SwiftUI 的新手,所以我可能缺少一个简单的答案。

lor*_*sum 8

您可以使用.onSubmit(of: .search)

ContentView()
    .searchable(text: $text) {
        MySearchSuggestions()
    }
    .onSubmit(of: .search) {
        fetchResults()
    }
Run Code Online (Sandbox Code Playgroud)

https://developer.apple.com/wwdc21/10176