提问人:dhaval123 提问时间:3/8/2023 最后编辑:dhaval123 更新时间:3/12/2023 访问量:242
如何启动已扩展的多个披露群组 SwiftUI
how to start multiple disclosure groups already expanded swiftui
问:
我有一个带有字符串列表的 foreach,每个元素都有一个可扩展的视图。我希望它们都已经开始扩展。 我还想单独折叠/扩展它们。
@State myLists = ["list1", "list2", "list3"]
ForEach(myLists, id: \.self){myList in
DisclosureGroup(myList){
Text(myList)
}
}
我希望它们都已经展开,并单独折叠它们。
我尝试了多个链接,但其中大多数都无法正常工作。
SwiftUI DisclosureGroup:单独展开每个部分 - 这个部分有效,但它从所有部分都关闭开始。
答:
1赞
malhal
3/12/2023
#1
你可以做另一个来做这件事,例如View
struct ContentView: View {
let myLists = ["list1", "list2", "list3"]
var body: some View {
ForEach(myLists, id: \.self){ myList in
ContentView2(text: myList)
}
}
}
struct ContentView2: View {
let text: String
@State private var expanded = true
var body: some View {
DisclosureGroup(text, isExpanded: $expanded){
Text(text)
}
}
}
注意对动态无效,您需要使用真实的数据,否则更改时会崩溃。id: \.self
@State
id
评论