Ene*_*nso 7 modal-dialog swiftui
#SwiftUI 中似乎存在一个错误,@EnvironmentObject
如果用户拉下模式表将其关闭,但取消手势使其保持打开状态,则该错误将不再可用。
实际错误:
SwiftUI:0:致命错误:找不到类型的 ObservableObject。View.environmentObject(_:) 作为此视图的祖先可能会丢失。
这种情况并不总是发生,但发现重现并不难。有谁知道修复方法吗?
只需将 a 添加.environmentObject(env)
到所提供的工作表中即可解决您的问题。
更详细地说:
@EnvrironmentObject var currentEnvironment: SomeEnvironment
@State var isSheetPresented: Bool = false
var body: some View {
VStack {
// ...
}
.sheet(isPresented: $isSheetPresented) {
OtherView()
.environmentObject(currentEnvironment)
}
}
Run Code Online (Sandbox Code Playgroud)
要重现该问题,您可以使用拖动手势将工作表拖动到一半以将其关闭,然后释放它。(以一种不关闭的方式......)
关于这种情况,我曾经读到这是一个错误。但我也读到这是有意为之的。对我来说,这似乎是一个错误,因为它发生的情况对我来说不合适。
归档时间: |
|
查看次数: |
639 次 |
最近记录: |