SwiftUI 自动导航 closing/pop - Realm

SwiftUI Navigation automatically closing/pop - Realm

我正在使用领域结果集填充列表。

从此列表导航时,它会打开一个新视图,然后自动关闭该视图。

使用结构没有问题。

为什么第二个视图会自动关闭?

我有屏幕录像,但不能post这里。

import SwiftUI
import Combine

struct TestStruct:Identifiable{

    let id = UUID()
    let firstname: String
}

extension TestStruct {
    static func all() -> [TestStruct]{
        return[
            TestStruct(firstname: "Joe"),
            TestStruct(firstname: "Jane"),
            TestStruct(firstname: "Johns")
        ]
    }
}

struct TestListView: View {
    let realmList = Horoscope.getHoroscopes() //Fetches from Realm
    let structList = TestStruct.all()

    var body: some View {
        NavigationView{
            // This owrks
            //            List(structList) { item in
            //                MyItemRow(itemTxt: item.firstname)
            //            }

            //This automatically closes the view
            List(realmList) { item in
                MyItemRow(itemTxt: item.firstname)
            }
            .navigationBarTitle("Charts", displayMode: .automatic)
            .navigationBarItems(trailing: EditButton())
        }
    }
}


struct MyItemRow: View {

    var itemTxt:String

    var body: some View {
        NavigationLink(destination: Text("Test")) {
            Text(itemTxt)
        }
    }
}

struct TestListView_Previews: PreviewProvider {
    static var previews: some View {
        TestListView()
    }
}

我觉得可以找到答案

简而言之,不要生成 ForEach 迭代的集合的 id。它会检测到变化并返回。

Realm object has an auto generated id property with each reference, try replacing it with a consistent id