如何将 SWIFTUI 按钮操作绑定到视图模型操作或方法

How to bind SWIFTUI Button action to viewmodel action or method

我正在尝试绑定 swiftui 按钮操作并收到类似 Cannot convert value of type 'Binding<() -> ()>' to expected argument type '() -> Void'

的错误

在视图中

Button(action : $viewModel.action ) {
                        Text("Login")
                    }

在视图模型中

class LoginViewModel: ObservableObject {
    
    @Published var userid = ""
    @Published var password = ""
    @Published var selection : Int? = 0
    //@Published var action : () -> void = {}
    func action()  {
        
    }
    
}

您不需要在按钮操作中进行绑定,

Button(action : viewModel.action ) {     // << no $ here !!
                        Text("Login")
                    }

其他都应该没问题。