打开 SwiftUi 菜单时的事件

San*_*ngh 6 swiftui

有没有办法知道 SwiftUI 中的 Menu 控件何时即将打开或打开?我正在分享实现中的菜单代码。

struct ContentView: View {
    var body: some View {
        Menu("Options") {
            Button("Order Now", action: placeOrder)
            Button("Adjust Order", action: adjustOrder)
            Button("Cancel", action: cancelOrder)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Sof*_*ner 1

这是我的尝试。不幸的是,关闭将触发一次。

{
    var onFirstAppear: (() -> ())?

    var body: some View {
        Menu {
            Group {
                ForEach(data) { item in
                    Button(item.title) {
                        selection = item
                    }
                }
            }
            .onAppear(perform: onFirstAppear)
        } label: {
            label
        }
    }
}
Run Code Online (Sandbox Code Playgroud)