Я пытаюсь представить список, первым элементом которого является 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)
}
}
}
}
}
}
}
Эта вещь прекрасно компилируется и тоже отображается нормально. Во время выполнения я могу нажать все «простые кнопки», и это работает. Для «стартовой» записи я могу открыть второе окно только один раз. После возврата кнопка «старт» больше не реагирует. Есть идеи?
