Zum Inhalt springen
Skip

DisclosureGroup

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Skip support for SwiftUI.DisclosureGroup.

The following example screens and source code is from SkipUI’s Showcase sample app DisclosureGroupPlayground.swift

import SwiftUI
struct DisclosureGroupPlayground: View {
@State var expanded = false
@State var nestedModel = DisclosureGroupPlaygroundModel(title: "Multi-Level", items: ["AAAA", "BBBB", "CCCC"], nested: [DisclosureGroupPlaygroundModel(title: "Nested", items: ["1111", "2222", "3333"])])
var body: some View {
ScrollView {
VStack(spacing: 16) {
Button("Toggle Group") {
withAnimation { expanded = !expanded }
}
.buttonStyle(.bordered)
DisclosureGroup("DisclosureGroup", isExpanded: $expanded) {
Text("AAAA")
Text("BBBB")
Text("CCCC")
}
DisclosureGroup(nestedModel.title, isExpanded: $nestedModel.isExpanded) {
ForEach(nestedModel.items, id: \.self) { text in
Text(text)
}
ForEach($nestedModel.nested, id: \.title) { $item in
DisclosureGroup(item.title, isExpanded: $item.isExpanded) {
ForEach(item.items, id: \.self) { text in
Text(text)
}
}
}
}
DisclosureGroup("Disabled", isExpanded: $expanded) {
Text("AAAA")
Text("BBBB")
Text("CCCC")
}
.disabled(true)
}
.padding()
}
.toolbar {
PlaygroundSourceLink(file: "DisclosureGroupPlayground.swift")
}
}
}
struct DisclosureGroupPlaygroundModel {
var title = ""
var isExpanded = false
var items: [String] = []
var nested: [DisclosureGroupPlaygroundModel] = []
}