Was sind die Voraussetzungen für eine kostenlose erweiterbare Liste in SwiftUI?
Irgendwo in meinem Code habe ich diese hübsche Standardliste mit Abschnitten:
var body: some View {
List {
ForEach(userData.groupedBookings) { group in
Section(header: Text(group.key)) {
ForEach(group.items) { booking in
LessonRow(booking: booking)
}
}
}
}
}
Irgendwie sind die Abschnitte mit diesem Code erweiterbar / reduzierbar, was mich glücklich macht, aber ich weiß nicht warum. Ich bin besonders frustriert, weil ich dieses Verhalten an anderer Stelle mit ähnlichem Code reproduzieren möchte und nicht das Erweitern / Reduzieren bekomme.
Was sind die Voraussetzungen, um dies automatisch zu erhalten?
Antworten
Es wird durch den Listenstil der Seitenleiste aktiviert (der unter bestimmten Bedingungen als Standard betrachtet wird), den Sie explizit verwenden können
List {
ForEach(userData.groupedBookings) { group in
Section(header: Text(group.key)) {
ForEach(group.items) { booking in
LessonRow(booking: booking)
}
}
}
}
.listStyle(SidebarListStyle())
Alternativ können Sie DisclosureGroup
explizit das Offenlegungsverhalten für Abschnitte wie in verwendenhttps://stackoverflow.com/a/63228810/12299030