foreach - 如何获取 SwiftUI ForEach 中的前一个元素?
问题描述
我在 SwiftUI 中有一个这样的 ForEach:
ForEach(entries) { (e: MyType) in
NavigationLinkItem(entry: e)
}
现在我还需要将上一个条目传递给我的视图(NavigationLinkItem)来执行以下操作:
ForEach(entries) { (e: MyType) in
NavigationLinkItem(entry: e, sucessor: ...)
}
如何意识到这一点?
解决方案
为了保持ForEach
动态,请在下面找到可能的方法(假设MyType
is Identifiable
,并且后继是可选的)
ForEach(Array(entries.enumerated()), id: \.1.id) { (index, e) in
NavigationLinkItem(entry: e, sucessor: (index == 0 ? nil : self.entries[index - 1]))
}
推荐阅读
- php - Guzzle - Elasticsearch - 批量 API
- javascript - 如何在 html 页面的标题中显示动态变量?
- docker - 为什么在 Alpine 上运行 .NET Core 2.1 时出现 System.OutOfMemory 异常?
- .htaccess - .htaccess 301 重定向包括查询字符串,但不包括文件扩展名
- java - 使用数组作为测试方法的参数
- sql-server - 将 TransactionScope 与存储过程事务一起使用不起作用
- pattern-matching - 模式匹配 Enum.map 与 case 条件
- scala - 具有 scala 和 spark 的时间序列。卷帘窗
- azure-pipelines-build-task - DnsNameLabelNotSupported - Azure 容器实例的 VSTS ARM 模板
- php - php 7.2 (windows) 缺少 php_ssh2.dll 扩展