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



其他人在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必须具有唯一值,并且不应为零或为空,对我来说,这是一根空绳子。

最新更新