按下NavigationLink时调用的SwiftUI Button操作,主视图不会更新

时间:2019-08-14 23:39:23

标签: swift swiftui navigationlink

我有一个看起来像这样的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.completedCompletionStatus的{​​{1}}类,具有ObservableObject属性@Publishedstatustask类型的@State,其中包含Task(CompletionStatus)属性。请让我知道是否可以提供更多信息。

分别是completedTask结构和类:

CompletionStatus

0 个答案:

没有答案