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必须有唯一值,不能为零或空,
对我来说这是一个空字符串。
有没有其他人在 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必须有唯一值,不能为零或空, 对我来说这是一个空字符串。