我正试图在SwiftUI中为菜单视图创建一个视图 struct ,如下面的代码所示.我收到了一个错误:"未能生成表达式的诊断;请提交错误报告".我不明白我做错了什么.
为了清楚起见,我想创建一个 struct ,在这里我可以输入一个枚举、一个文本字符串和按钮的一个操作,然后返回一个菜单,以使contentview更具可读性.
希望你们能帮我.干杯
struct AddObjectMenuView<T: RawRepresentable, CaseIterable>: View {
let labelText: String
let someEnum: T
let function: () -> Void
var body: some View { // Getting error here
Menu {
ForEach(someEnum.allCases) { field in
Button(action: function) {
VStack {
Text(field.rawValue).padding()
}
}
}
} label: {
Text(labelText).padding().background(RoundedRectangle(cornerRadius: 10).foregroundColor(.clear))
}
.foregroundColor(Color("lightBlue"))
}
}
然后在我的ContentView中这样使用它:
AddObjectMenuView(labelText: "Hello", someEnum: SomeEnum, function: {
// Do something
})