Код: Выделить всё
struct ParentSearchableView: View {
@EnvironmentObject var sessionStore: SessionStore
@Environment(\.dismiss) var dismiss
@StateObject var groupViewModel: GroupViewModel
@State var searchString: String = ""
@State var privacy = 0
@State var alertString = ""
@State var selected: Bool = false
@State var showSelectedSheet: Bool = false
var isCreate: Bool
var body: some View {
VStack {
GroupInviteSearchContainerView(groupViewModel: groupViewModel, searchString: searchString)
.searchable(text: $searchString,
placement: .navigationBarDrawer(displayMode: .always) )
.onSubmit(of: .search) {
// Do Someting
}
.navigationTitle("Invite Friends")
.navigationBarTitleDisplayMode(.large)
.navigationBarHidden(false)
.background(Color.primaryDark)
.toolbar() {
Button("\(groupViewModel.listSelection.count) Selected") {
showSelectedSheet = true
}
}
}
< /code>
Поисковый контейнер просмотр < /p>
struct SearchContainerView: View {
@EnvironmentObject var sessionStore: SessionStore
@Environment(\.isSearching) var isSearching
@Environment(\.dismissSearch) var dismissSearch
@StateObject var groupViewModel: GroupViewModel
@State var searchString: String
var body: some View {
VStack {
if(groupViewModel.displayList.count > 0) {
List{
ForEach(groupViewModel.displayList) { user in
FriendSelectCellView()
}
}
.scrollContentBackground(.hidden)
.background(Color.primaryDark)
.foregroundColor(.black)
} else {
Spacer()
}
}
.navigationBarHidden(false)
.background(Color.darkBackground)
.onChange(of: isSearching) { newValue in
groupViewModel.isSearching = newValue
}
}
Подробнее здесь: https://stackoverflow.com/questions/746 ... in-swiftui