从菜单项调用 sheet

Calling a sheet from a menu item

我有一个 macOS 应用程序,当用户按下菜单项“信息”时,它必须显示一个包含一些信息的小对话框。

我试过用 .sheet 调用,但无法显示 sheet。代码:

@main
struct The_ThingApp: App {
    private let dataModel = DataModel()
    @State var showsAlert = false
    @State private var isShowingSheet = false

    var body: some Scene {
       WindowGroup {
          ContentView()
          .environmentObject(self.dataModel)
       }
       .commands {
            CommandMenu("Info") {
                Button("Get Info") { 
                    print("getting info")
                    isShowingSheet.toggle()
                }
                .sheet(isPresented: $isShowingSheet) {
                    VStack {
                        Text("Some stuff to be shown")
                            .font(.title)
                            .padding(50)
                        Button("Dismiss",
                               action: { isShowingSheet.toggle() })
                    }
                }
            }
       }
    }
}

如何显示菜单项中的 sheet?

但是,如果 sheet 不是这样做的方式(我认为考虑到我需要展示的内容的简单性,就可以了),你会建议我怎么做?我尝试创建一个新视图,就像我使用首选项 window 所做的那样,但我无法从菜单中调用它。

将sheet直接放在ContentView上:

@main
struct The_ThingApp: App {
    
    @State private var isShowingSheet = false
    
    var body: some Scene {
        WindowGroup {
            ContentView()
                // here VV
                .sheet(isPresented: $isShowingSheet) {
                    VStack {
                        Text("Some stuff to be shown")
                            .font(.title)
                            .padding(50)
                        Button("Dismiss",
                               action: { isShowingSheet.toggle() })
                    }
                }
        }
        
        .commands {
            CommandMenu("Info") {
                Button("Get Info") {
                    print("getting info")
                    isShowingSheet.toggle()
                }
            }
        }
    }
}