如何通过点击 SwiftUI 列表中的行元素从子视图返回到父视图?

Lor*_*o R 1 ios swiftui

当用户点击并选择列表中的单元格行时,我需要执行类似于“展开以继续”的操作。我是 SwiftUI 的新手,如果有人可以帮助我,我将非常感激。


struct cellView : View {

    @State var name = ""

    var body: some View {

        VStack {
            Text(name)
            Button(action: { ***unwind to parent view code*** })
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望在点击单元格行后有一个操作代码返回到父视图。

LuL*_*aGa 5

您可以使用名为 presenationMode 的环境变量来完成此操作,如下所示:

struct CellView : View {

    @Environment(\.presentationMode) var presentationMode
    @State var name = ""

    var body: some View {

        VStack {
            Text(name)
            Button("Tap me",
                   action: { self.presentationMode.wrappedValue.dismiss() })
        }
    }
}
Run Code Online (Sandbox Code Playgroud)