iOS Beta 5 SwiftUI 列表重复单个项目

iOS Beta 5 SwiftUI List duplicates single item

有没有其他人在 iOS 14 Beta 5 中看到过这个?它在以前的测试版中运行良好...

    @State private var favorites = [Truck]()
    @State private var favoritesRetreived = false

    var body: some View {
        List {
            ForEach(favorites, id:\.id) { truck in
                NavigationLink (destination: TruckDetail(truck: truck)) {
                    TruckListItem(truck: truck)
                }
            }
        }
        .navigationBarTitle(Text("Favorites"), displayMode: .inline)
        .onAppear(perform: {
            getFavoriteTrucks()
        })
    }

收藏夹中的数据在调用 getFavoriteTrucks 时已正确更新,但列表仅显示第一项重复 favorites.count 次。我知道这在以前的测试版中工作正常......我错过了什么改变吗?

Rob Napier,你是对的。我在 ForEach 中使用的 .id 不是我应该使用的值。所有这些值都是“”,因此生成了重复项。谢谢!

检查您的 ID 值。它不需要在 ForEach 循环中提及,但它在您的模型中应该是唯一的。

例如:

ForEach(list.datas) { 我在 打印(i.id) }

这个i.id必须有唯一值,不能为零或空, 对我来说这是一个空字符串。