4

我正在使用带有 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 属性更新时,这让我回到根视图

4

0 回答 0