Quelles sont les exigences pour une liste extensible gratuite dans SwiftUI?
Quelque part dans mon code, j'ai cette jolie liste standard avec des sections:
var body: some View {
List {
ForEach(userData.groupedBookings) { group in
Section(header: Text(group.key)) {
ForEach(group.items) { booking in
LessonRow(booking: booking)
}
}
}
}
}
D'une manière ou d'une autre, avec ce code, les sections sont extensibles / réductibles, ce qui me rend heureux, mais je ne sais pas pourquoi. Je suis particulièrement frustré parce que je veux reproduire ce comportement ailleurs avec un code similaire et ne pas obtenir l'expansion / réduction.
Quelle est la condition pour l'obtenir automatiquement?
Réponses
Il est activé par le style de liste de la barre latérale (qui dans certaines conditions est considéré comme par défaut), que vous pouvez utiliser explicitement
List {
ForEach(userData.groupedBookings) { group in
Section(header: Text(group.key)) {
ForEach(group.items) { booking in
LessonRow(booking: booking)
}
}
}
}
.listStyle(SidebarListStyle())
comme alternative, vous pouvez utiliser DisclosureGroup
explicitement pour avoir un comportement de divulgation pour les sections, comme danshttps://stackoverflow.com/a/63228810/12299030