我有一个动态的SwiftUI列表,它使用州的枚举来填充.然后,它在我的数据字典中循环查找状态匹配以显示数据.所有这些都运行得很完美.我想要做的,但却苦苦挣扎的是隐藏那些空虚的状态.
有问题的代码部分是:
@State private var bucketList: [BucketListItems] = []
...
List {
ForEach(USStates.allCases) { states in
Section {
ForEach (bucketList) { item in
if (item.state == states.abrev) {
NavigationLink(destination: ItemDetails(blItem: item.recordID)) {
Label(item.name, systemImage: item.monogram)
.frame(height: 50)
.foregroundColor(item.completedate=="0000-00-00" ? .white : .red)
}
}
}
} header: {
Text(states.rawValue)
}
}
}
当一个州没有匹配项时,我希望隐藏整个部分.
一些附加的相关代码:
struct BucketListItems: Encodable, Decodable, Identifiable, Hashable {
let id = UUID()
var recordID: Int
var url: String
var user: Int
var name: String
var category: String
var state: String
var latitude: String
var longitude: String
var description: String
var completedate: String
}