我正在使用带有 swiftUI 的导航视图。我的问题是,每当我使用 Navlink 转到另一个视图并且我的 navigationView 根的observedObject 发生变化时,我的界面也会返回到根视图。
所以我的问题是:当我导航到 navLink 时,有没有办法告诉导航视图的根节点的被观察对象停止更新 UI?
我的 navigationView 的根:listChatViewModel 是 Observable 对象,recentMessages 是 Published 属性
NavigationView{
ScrollView(.vertical, showsIndicators: false){
VStack(spacing : 6){
//Recent
ForEach(listChatViewModel.recentMessages){recentMessage in
NavigationLink(destination: ChatView(ChatViewModel(myUserId : self.session.session!.uid, userId : recentMessage.senderProfile!.user_id))) {
RecentCellView(recentMessage: recentMessage)
}
}
.padding()
}
}
.navigationBarTitle("Chat", displayMode: .inline)
.navigationBarItems(leading:
Image("logo_black").resizable().frame(width: 32.0, height: 32.0)
)
}
当我在 ChatView 中并且 recentMessages 属性更新时,这让我回到根视图