我有一个看起来像这样的SwiftUI视图(出于隐私原因而简化):
var body: some View {
HStack {
Button(action: {
self.completed.toggle()
}) {
Text(self.title)
}
NavigationLink(destination: DetailView(task: self.task)) {
Text(self.title)
}
}
}
导航正常,并且DetailView
具有更新的状态(toggle
只是切换状态),但是当我返回主视图时,状态不会更新。为什么会这样?
我需要该按钮以使其与文本有所不同-这可能吗?我希望按下按钮来执行按钮操作,并希望该行的其余部分充当NavigationLink
。我该怎么办?
self.completed
是CompletionStatus
的{{1}}类,具有ObservableObject
属性@Published
。 status
是task
类型的@State
,其中包含Task
(CompletionStatus)属性。请让我知道是否可以提供更多信息。
分别是completed
和Task
结构和类:
CompletionStatus