Pular para o conteúdo
Skip

DisclosureGroup

Este conteúdo não está disponível em sua língua ainda.

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