foreach - SwiftUI:ForEach 过滤器布尔值
问题描述
我正在拼命地尝试使用 ForEach 只显示具有 true 值的内容。无论我尝试什么,也会显示 false 。空气现在已经消失了,我认为这很简单,我只是看不到它。这是应该应用的一段代码:
import SwiftUI
struct txt: Identifiable {
var id: Int
var text: String
var show: Bool
}
struct ContentView: View {
@State private var array = [
txt(id: 000, text: "True", show: true),
txt(id: 001, text: "True", show: true),
txt(id: 002, text: "True", show: true),
txt(id: 003, text: "False", show: false),
]
var body: some View {
NavigationView {
List {
ForEach(array.indices, id: \.self) { idx in
Text("\(self.array[idx].text)")
}
}
}
}
}
解决方案
像这样改变你ForEach
:
ForEach(array) { arr in
if arr.show {
Text("\(arr.text)")
}
}
推荐阅读
- angularjs - 在 angularJs 视图中格式化 Java 8 LocalDateTime
- php - 时差转换为整数不起作用
- tibco-business-works - 自定义函数不支持 major.minor 版本 51.0 TIBCO Designer 5.7
- java - 无法在 Maven 中使用声纳扫描仪
- mysql - MySQL 和 MongoDB 混合部署
- android - RecyclerView 适配器不会在 notifyDataSetChanged() 上更新(不是 Collection)
- reactjs - Redux 流数据以通过用户将详细信息发送到操作
- python - 如何使用 python 比较一个图像和许多其他图像之间的 SSIM?
- http - 为什么此 Razor Page Ajax 调用会收到 404?
- delphi - DLL 中使用的组件 TcxCheckListBox 的错误属性 ImageIndex