在SwiftUI中,可以通过使用@Binding
属性包装器将数据从子视图传递到父视图。以下是实现这一功能的步骤:
@State
属性来存储TextInputs数组。例如:@State private var textInputs: [String] = []
textInputs
数组作为@Binding
属性传递给子视图。例如:ChildView(textInputs: $textInputs)
@Binding
属性来接收父视图传递的textInputs
数组。例如:@Binding var textInputs: [String]
ForEach
循环遍历textInputs
数组,并显示每个TextInput。例如:ForEach(textInputs.indices, id: \.self) { index in
TextInput(text: $textInputs[index])
}
TextInput
视图,并将每个TextInput与textInputs
数组中的相应元素绑定。例如:struct TextInput: View {
@Binding var text: String
var body: some View {
TextField("Enter text", text: $text)
}
}
这样,当子视图中的TextInput发生更改时,父视图中的textInputs
数组也会相应地更新。
领取专属 10元无门槛券
手把手带您无忧上云