Ios 模式视图中的SwiftUI返回值

Ios 模式视图中的SwiftUI返回值,ios,swift,swiftui,modal-view,Ios,Swift,Swiftui,Modal View,我目前有一个列表,它位于一个模态(.sheet)视图中,我正试图从中检索到上一个视图中的点击值。我怎样才能做到这一点 import SwiftUI struct ContentView: View { @State var showingModal: Bool = false var body: some View { VStack { Button(action: { self.showingM

我目前有一个
列表
,它位于一个模态(
.sheet
)视图中,我正试图从中检索到上一个视图中的点击值。我怎样才能做到这一点

import SwiftUI

struct ContentView: View {
    @State var showingModal: Bool = false
    
    var body: some View {
        VStack {
            Button(action: {
                self.showingModal.toggle()
            }) {
                Text("Tap me!")
            }.sheet(isPresented: $showingModal, onDismiss: {
                print("Dismissed")
            }) {
                ModalView(isShowing: self.$showingModal)
            }
            Text("Selected Item: ")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}


在本例中,我想用
“选定项”
设置
文本上的文本。

您不应该!您的.sheet视图应该更新您的模型,然后如果需要,这些更改会反映在您以前的视图中

这里有一个很好的资源来解释这种交流:
你不应该!您的.sheet视图应该更新您的模型,然后如果需要,这些更改会反映在您以前的视图中

这里有一个很好的资源来解释这种交流:

谢谢Allan,在看到视频更新之前,我自己能够实现这一点。谢谢Allan,在看到视频更新之前,我自己能够实现这一点。
import SwiftUI

struct ModalView: View {
    @State private var names = ["Foo", "Bar"]
    @Binding var isShowing: Bool
    
    var body: some View {
        List(names, id: \.self) { name in
            HStack {
                Text("\(name)")
                Spacer()
            }
            .contentShape(Rectangle())
            .onTapGesture {
                print(name)
                self.isShowing = false
            }
        }
    }
}

struct ModalView_Previews: PreviewProvider {
    @State static var value = true
    
    static var previews: some View {
        ModalView(isShowing: self.$value)
    }
}