Hi there,
I am still quite new to SwiftUI and made a .searchable
list as you can see in my code below. When I search, all list headers are displayed, even if there aren't any results in that list. How can I fix that?
Thank you for your help!
Laurin
//Herangehensweise
"basismaßnahmen",
"cabcde herangehensweise",
"cabcde instabilitäten",
"beurteilung der bewusstseinslage",
"sampler",
"opqrst",
"atemwegsmanagement",
"patientenanmeldung",
//Kreislaufstillstand
"erwachsene bls reanimation",
"erwachsene als mit manueller defibrillation reanimation",
"erwachsene als mit aed reanimation",
"kinder pls reanimation",
"neugeborene pls baby reanimation",
"postreanimationstherapie rosc",
//Leitsymptome
"dyspnoe atemnot luft",
"kritische blutung tourniquet",
"kurzzeitige bewusstlosigkeit synkope tloc",
"nichttraumatischer brustschmerz thorax acs akutes aortensyndrom lungenembolie lae spontanpneumothorax spannungspneumothorax",
"schock blut volumenmangel blutdruck hypoton blutverlust",
"starke schmerzen nrs analgesie analgosedierung midazolam dormicum esketamin ketanest",
"zentrales neurologisches defizit bewusstlosigkeit",
//Krankheitsbilder
//More entries...
]
struct BPR: View {
var bprs: [String] {
let lcBprs = listOfBPRs.map { $0.lowercased() }
return searchText == "" ? lcBprs : lcBprs.filter {
$0.contains(searchText.lowercased())
}
}
private var listOfBPRs = bprlist
@State var searchText = ""
var body: some View {
NavigationView {
List {
Group {
Section (header: Text("Herangehensweise")){
ForEach(bprs, id: \.self) { bpr in
if bpr.contains("basismaßnahmen") {
NavigationLink(destination: Basismassnahmen()) {
Label {
Text("Basismaßnahmen")
} icon: {
Image(systemName: "list.bullet.clipboard")
}
}
} else if bpr.contains("cabcde herangehensweise"){
NavigationLink(destination: cabcdeHerangehensweise()) {
Label {
Text("cABCDE-Herangehensweise")
} icon: {
Image(systemName: "abc")
}
}
} else if bpr.contains("cabcde instabilitäten"){
NavigationLink(destination: cabcdeInstabilitaeten()) {
Label {
Text("cABCDE-Instabilitäten")
} icon: {
Image(systemName: "textformat.abc.dottedunderline")
}
}
} //More else if statements and groups...
}
}
}
}
}
.searchable(text: $searchText)
.disableAutocorrection(true)
.background(Color.clear)
.listStyle(SidebarListStyle())
.navigationTitle("Behandlungspfade")
.navigationBarTitleDisplayMode(.automatic)
.toolbar {
NavigationLink(destination: About()){
Image(systemName: "info.circle")
}
NavigationLink(destination: Settings()){
Image(systemName: "gear")
}
}
BackgroundMedikamente()
}
}
}