SwiftUI @Binding 未在孩子中更新

Dim*_*dui 8 swift swiftui

在我的主要视图中,我有以下变量:

@State private var link = "https://www.google.com"
Run Code Online (Sandbox Code Playgroud)

该视图有两个包含变量绑定的子项:

@Binding var text: String
Run Code Online (Sandbox Code Playgroud)

, 初始化如下: Child(text: $link)

子 1 更新变量,父接收更改,但子 2 仍保留第一个值

Jos*_*ann 5

如果你想让一个视图重建自己,你需要修改它的状态、环境对象或观察对象;这些是视图订阅的唯一内容。如果您只是修改绑定,则视图无法知道它需要重建。您应该将绑定修改为视图的环境、状态或观察对象的副作用。由于您在子视图和父视图之间有一些共享状态,并且@EnvironmentObject似乎是执行此操作的正确位置。