我在 SwiftUI 中創建了一個表單,現在我正在嘗試添加一個搜索欄并使串列可搜索,而無需系統構建 NavigationView。我想知道有什么可能的方法嗎?
uj5u.com熱心網友回復:
一種簡單的方法是您可以在 SwiftUI 中自定義 TextField,通過文本欄位文本來過濾資料。
struct Sample006: View {
@State var dataSource: [String] = ["1", "2", "3"]
@State var filterData: [String] = []
@State var filterText: String = ""
var body: some View {
VStack {
TextField("Input Text", text: self.$filterText)
.textFieldStyle(.roundedBorder)
.padding(.horizontal, 20)
Form {
ForEach(filterData, id: \.self) { data in
Text(data)
}
}
}
.onAppear {
reset()
}
.onChange(of: filterText) { newValue in
guard !newValue.isEmpty else {
reset()
return
}
filterData = dataSource.filter { text in
text == newValue
}
}
}
private func reset() {
filterData = dataSource
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516008.html
標籤:IOS迅速苹果手机迅捷
