Filter 当带有过滤器选项的ForEach在Swiftui中未显示结果时,如何显示文本?
我正在努力解决以下问题。我用ForEach循环创建了一个“看起来像列表”的列表。这很好,但不是一个问题。在最后一个ForEach循环中,如果数据库“values”中没有结果,我想以文本形式给出一个结果。因此,如果ForEach循环没有通过,因为没有数据库集,那么我想给出一个文本结果,说“0€” 你有什么想法吗 代码如下:Filter 当带有过滤器选项的ForEach在Swiftui中未显示结果时,如何显示文本?,filter,foreach,swiftui,Filter,Foreach,Swiftui,我正在努力解决以下问题。我用ForEach循环创建了一个“看起来像列表”的列表。这很好,但不是一个问题。在最后一个ForEach循环中,如果数据库“values”中没有结果,我想以文本形式给出一个结果。因此,如果ForEach循环没有通过,因为没有数据库集,那么我想给出一个文本结果,说“0€” 你有什么想法吗 代码如下: ForEach(categories.filter({ (categories) -> Bool in categories.inOrOutCateg
ForEach(categories.filter({ (categories) -> Bool in
categories.inOrOutCategory_ID == 1 }), id: \.category_ID) { categoryIndex in
Section(header: Text("\(categoryIndex.category)")) {
ForEach(subCategories.filter({ (subCategories) -> Bool in
subCategories.category_ID == categoryIndex.category_ID }), id: \.subCategory_ID) {
subCategoryIndex in
HStack {
Text("\(subCategoryIndex.subCategory)").padding(.leading)
Spacer()
ForEach(values.filter({ (values) -> Bool in
values.subCategory_ID == subCategoryIndex.subCategory_ID && (values.month_ID == self.month && (values.year == self.year)) }), id: \.value_ID) { valueIndex in
Text("\(String(format: "%.2f", valueIndex.value))€").padding(.trailing)
}
}
}
}
}.padding(.leading)
非常感谢我今天遇到了同样的问题,解决方案是创建一个方法,该方法可以是true或false,手动检查过滤器的条件,然后有必要在swiftUI中创建视图,如果该方法返回false(无结果),则会显示该视图例如,在视图中显示文本或任何您想要的内容,但没有结果 例如:
func searchResult() -> Bool {
if searchText == "" {
return true // ne s'affiche pas
}
for u in subscribers{
if u.firstname.contains(searchText){
return true
}
if u.lastname.contains(searchText){
return true
}
}
return false // s'affiche
}
在您看来:
if !searchResult() {
Text("test")
}