Передача данных из модальной презентации - PullRequest
1 голос
/ 17 октября 2019

Как передать данные в представление "модальное представление", и эти данные можно получить в Detail

Мне нужно передать переменную title в Detail ()

struct ContentView: View {
 @State var showingDetail = false
    let title = "My Title"

    var body: some View {
        Button(action: {
            self.showingDetail.toggle()
        }) {
            Text("Show Detail")
        }.sheet(isPresented: $showingDetail) {
            Detail()
        }
    }
}


struct Detail: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>

    var body: some View {
        NavigationView {
            ScrollView {
                VStack {
                Text("Details view")
                Text("Details view")
                }

            }
            .navigationBarTitle("Booking", displayMode: .inline)

            .navigationBarItems(trailing:
                Button(action: {
                    self.presentationMode.wrappedValue.dismiss()
                    print("close")
                }) { Image(systemName: "xmark")  }).accentColor(.pink)

        }
    }
}

1 Ответ

2 голосов
/ 17 октября 2019

Просто объявите его как переменную / константу в Detail, как это:

struct Detail: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>

    let title: String

    var body: some View {
        NavigationView {
           ScrollView {
               VStack {
                   Text(title)
           //...end so on

, а затем передайте его в инициализатор в ConotentView:

struct ContentView: View {

    //...

    }.sheet(isPresented: $showingDetail) {
        Detail(title: self.title)
    }
    // ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...