每次按下空格键时,我都试图使我的SwiftUI文本字段输入忽略spaces,以便帐户输入数据不包含任何空格.
我在下面看到了使用"代理绑定"实现这一点的代码,但答案对我来说非常简洁,我对{get set}是新手.
Ignore left whitespaces on imput in TextField SwiftUI Combine
如果新输入是space,我希望AccountInput中的代码为return,这样它就不会进入textfield&;LoginView模型.输入
我怎样才能使这个代码工作?
MAIN VIEW
struct LoginView: View {
@StateObject var loginViewModel = LoginViewModel()
var body: some View {
VStack {
AccountInput(placeholder: "", input: $loginViewModel.input)
}
}
}
ACCOUNT INPUT
struct AccountInput: View {
var placeholder: String
@Binding var input: String
var body: some View {
HStack {
TextField(placeholder, text: Binding(
get: { self.input },
set: {
var newValue = $0
if newValue == " " { // How can I make new values return if a space?
return
}
self.input = newValue
}))
}
}
}