如果 Button 具有 buttonStyle,则 SwiftUI 的 keyboardShortcut 不起作用

SwiftUI's keyboardShortcut is not working if Button has a buttonStyle

我的代码:

                Button(action: {
                    AudioServicesPlaySystemSound(1026)
                    isActive.toggle()
                }){
                    HStack{
                        Image(systemName: "trash")
                        Text("delete")
                    }
                }
                .foregroundColor(.red)
                .font(.body)
                .keyboardShortcut("b",modifiers: [])

在此阶段,keyboardShortcut 可以使用,但是当我添加 buttonStyle 时,keyboardShortcut 无法使用 带有 buttonStyle 的代码:

                Button(action: {
                    AudioServicesPlaySystemSound(1026)
                    isActive.toggle()
                }){
                    HStack{
                        Image(systemName: "trash")
                        Text("delete")
                    }
                }
                .buttonStyle(PlainButtonStyle())
                .foregroundColor(.red)
                .font(.body)
                .keyboardShortcut("b",modifiers: [])

在 macOS 12.beta、xcode 13.beta、目标 ios 14.7 和 MacCatalyst 12 上对我来说效果很好。在 macOS 12 MacCatalyst 应用程序上测试。您使用的是什么系统?

import SwiftUI

@main
struct TestApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
struct ContentView: View {
    var body: some View {
        Button(action: {
            print("---> button clicked")
        }) {
            HStack{
                Image(systemName: "trash")
                Text("delete")
            }
        }
        .buttonStyle(PlainButtonStyle())
        .foregroundColor(.red)
        .font(.body)
        .keyboardShortcut("b",modifiers: [])
    }
}

我遇到了同样的问题,但如果我使用 BorderlessButtonStyle() 而不是 PlainButtonStyle,对我有用。