Ir al contenido
Skip

DisclosureGroup

Esta página aún no está disponible en tu idioma.

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] = []
}