您可以使用 @Binding 或 @ObservedObject 属性包装器,这些装饰器可以自动更新视图。以下是使用 @Binding 装饰器的示例:
struct ContentView: View {
@State var text: String = ""
var body: some View {
ChildView(text: $text)
}
}
struct ChildView: View {
@Binding var text: String
var body: some View {
VStack {
TextField("Enter text", text: $text)
Text(text)
}
}
}
在此示例中,子视图引用了父视图中的 text 变量,并将其传递为 @Binding 属性包装器。这将确保任何更改都会自动更新视图。
注意:使用 @ObservedObject 装饰器时,您需要创建一个 ObservableObject 类并将其传递给该装饰器。使用 @Binding 装饰器时,您只需传递变量的引用即可。
上一篇:不在索引中,seaborn