【发布时间】:2021-05-13 09:22:25
【问题描述】:
我正在尝试在 SwiftUI 中实现一个搜索栏,并且我想在用户在其上写入文本时过滤一个数组。
很遗憾,它不起作用,我不知道为什么。
代码如下:
import SwiftUI
struct ContentView: View {
@ObservedObject var jobsViewModel = JobsviewModel()
@State private var isEditing = false
@Binding var searchText: String
var body: some View {
List {
ForEach(jobsViewModel.jobs.filter {
searchText.isEmpty ? true : $0.title.localizedCaseInsensitiveContains(searchText)
}, id: \.self) {
JobView(job: $0)
}
}
.onAppear {
jobsViewModel.fetchJobs()
}
}
我尝试在包含searchText.isEmpty ? true : $0.title.localizedCaseInsensitiveContains(searchText) 的行中设置断点,但应用程序永远不会停在那里。
提前致谢!
【问题讨论】:
-
你为什么要重新发明轮子? 桥接
UISearchBar(Controller)到 SwiftUI 非常容易。