【发布时间】:2020-01-02 15:37:33
【问题描述】:
我正在寻找在textfields 和ViewModel 之间创建绑定的最佳方法。
目前,我正在为每个文本字段创建一个@State,并在需要时将值从文本字段手动发送到 viewModel 属性。我很确定这不是最好的方法......有没有办法将TextField 与ViewModel 属性绑定?
这是我当前的代码:
struct SigninView: View {
@State var username:String = ""
@State var password:String = ""
var viewModel:SignInViewModel
var body: some View {
VStack(alignment: .leading, spacing: 15.0){
DefaultTextField(placeholder: "username", value: $username)
DefaultTextField(placeholder: "password", value: $password)
Spacer()
FillButton(title:"Sign In"){
///// IS THIS CORRECT?
self.viewModel.email = self.username
self.viewModel.password = self.password
//------------------
self.viewModel.signin()
}
}.padding()
}
}
视图模型类似于:
class SignInViewModel:ObservableObject{
var username:String? = nil
var password:String? = nil
【问题讨论】: