0

タブバーページにポップアップを表示したい。サブページにポップアップ ビューを作成します。共有クラス ObservableObject を介してビューを送信したい。どうやっても解決できませんでした。これで私を助けてもらえますか?

私の株の価値

class sharedValues: ObservableObject {
    
    @Published var showingPopup = false
    
    var sharePopupView ? // i want to use this view for popup
}

私のタブページ。多くのサブページがあります

struct TabPage: View {
    @EnvironmentObject var share : sharedValues
    
    var body: some View {
        VStack(spacing:0) {
            
            NavigationView{
                
                switch share.selectedItemIndex {
                case 0: Shop()
                case 1: ConversationsView()
                    
                case 2: GameHome()
                case 3: GameHome()
                default: GameHome()
                }
            }
            
            Tabbar()
            
        }
        .popup(isPresented: $share.showingPopup, type: .`default`,animation: .spring(), closeOnTapOutside: true) {
            share.sharePopupView
        }
        
    }
    
}

ポップアップと呼びたいサブページの 1 つ

struct ConversationsView: View {
    
    @ViewBuilder private func popup1View() -> some View {
        Button(action:{
            print("buton tap")
        }){
            Text("Placeholder")
        }
    }
    
    @ViewBuilder private func sunpage1() -> some View {
        HStack(){
            Button(action: {
                share.sharePopupView = popup1View() // i want to use this view for popup
                share.showingPopup = true
            }) {
                Text("delete all")
            }
        }
    }
}
4

0 に答える 0