Jakie są wymagania dotyczące listy rozwijanej bezpłatnie w SwiftUI?

Dec 02 2020

Gdzieś w moim kodzie mam dość standardową listę z sekcjami:

var body: some View {
    List {
        ForEach(userData.groupedBookings) { group in
            Section(header: Text(group.key)) {
                ForEach(group.items) { booking in
                    LessonRow(booking: booking)
                }
            }
        }
    }
}

W jakiś sposób z tym kodem sekcje są rozwijane / zwijane, co mnie cieszy, ale nie wiem dlaczego. Jestem szczególnie sfrustrowany, ponieważ chcę odtworzyć to zachowanie w innym miejscu z podobnym kodem i nie uzyskać rozwijania / zwijania.

Jakie są wymagania, aby to automatycznie uzyskać?

Odpowiedzi

2 Asperi Dec 02 2020 at 15:43

Jest aktywowany przez styl listy paska bocznego (który w niektórych warunkach jest uważany za domyślny), którego możesz użyć bezpośrednio

List {
    ForEach(userData.groupedBookings) { group in
        Section(header: Text(group.key)) {
            ForEach(group.items) { booking in
                LessonRow(booking: booking)
            }
        }
    }
}
.listStyle(SidebarListStyle())

jako alternatywę możesz użyć DisclosureGroupjawnie, aby zachować zachowanie ujawniania informacji dla sekcji, takich jak whttps://stackoverflow.com/a/63228810/12299030