在SwiftUI中,我们可以使用@Binding
来创建自定义绑定。下面是一个简单的示例:
struct ContentView: View {
@State var text: String = ""
var body: some View {
VStack {
MyTextField(text: $text)
Text(text)
}
}
}
struct MyTextField: View {
@Binding var text: String
var body: some View {
TextField("Enter text", text: $text)
.padding()
.background(Color.gray.opacity(0.2))
.cornerRadius(5)
}
}
在上面的示例中,我们创建了一个MyTextField
组件,该组件内部使用TextField
来显示用户输入的文本。MyTextField
的构造函数接受一个text
参数,这个参数是我们自定义的绑定。我们使用$text
来将原始的绑定传递给TextField
。
现在,当用户在TextField
中输入文本时,它将通过绑定更新text
变量。因此,text
变量的值将在Text
组件中更新并显示。