美文网首页
SwiftUI 2.0 点击展开菜单组件 —— Disclosu

SwiftUI 2.0 点击展开菜单组件 —— Disclosu

作者: 刘铁崧 | 来源:发表于2021-02-26 14:34 被阅读0次

使用区别:OutlineGroup使用前需要构造好数据模型

1. DisclosureGroup

结合List使用

        List{
            DisclosureGroup("点击展开",isExpanded: $isExpanded){
                Text("子菜单")
                
                DisclosureGroup("第二级:点击展开"){
                    Text("子菜单")
                    Text("子菜单")
                    Text("子菜单")
                }
            }
            DisclosureGroup("点击展开"){
                Text("子菜单")
                Toggle("toggle", isOn: $toggleIsOn)
                DisclosureGroup("第二级:点击展开"){
                    Text("子菜单")
                    Text("子菜单")
                    Text("子菜单")
                }
            }
            
        }

结合Form使用

Form{
            DisclosureGroup("点击展开"){
                Text("子菜单")
                Toggle("toggle", isOn: $toggleIsOn)
                DisclosureGroup("第二级:点击展开"){
                    Text("子菜单")
                    Text("子菜单")
                    Text("子菜单")
                }
            }
        }

2. OutlineGroup

import SwiftUI

struct User:Identifiable {
    let id = UUID()
    var name = ""
    var users:[User]? = nil
    
}
struct ContentView: View {
    let user = User(
        name: "同学",users: [
            User(name: "cy",users: [
                    User(name: "CY_SUB1"),
                    User(name: "CY_SUB2")
                ]
            ),
            User(name: "cy1")
        ]
    )
    var body: some View {
        Form{
            OutlineGroup(user, children: \.users) { user in
                Text(user.name)
            }.padding(10)
        }
    }
}

相关文章

网友评论

      本文标题:SwiftUI 2.0 点击展开菜单组件 —— Disclosu

      本文链接:https://www.haomeiwen.com/subject/qddrfltx.html