我试图呈现一个列表,其中第一项是 NavigationLink
,因为它的配置需要定义一些额外的选项。所有其他操作都可以在没有特殊参数的情况下运行。
(代码稍微精简):
let operations = ["start", "stop", "set_marker", "save_map", "get_status"]
NavigationView {
VStack {
Form {
Section(header: Text("Header")) {
List(operations, id: \.self) { operation in
if operation == "start" {
NavigationLink(destination: DetailView(operation: operation)) {
Text(operation.uppercased())
}
} else {
Button(action: {
switch operation {
case "stop":
break
default:
break
}
}) {
Text(operation.uppercased()).foregroundColor(.black)
}
}
}
}
}
}
}
这个东西编译得很好并且显示也很好。在运行时,我可以单击所有“普通按钮”并且它可以工作。对于“开始”条目,我只能打开第二个窗口一次。返回后“开始”按钮不再有反应。有什么想法吗?
最佳答案
无视。似乎仅在模拟器和预览版中存在问题。
关于ios - 不同 UI 元素的 SwiftUI 列表 - 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687710/