Отображать новое представление, когда я выбираю вкладку в средстве выбора

У меня есть сборщик с 3 значениями. Как отобразить некоторую информацию на основе выбора вкладки средства выбора?

@State var tabSelectedValue = 0

var body: some View{
    
    VStack {
        Picker(selection: $tabSelectedValue, label: Text("")) {
            Text("A").tag(0)
            Text("B").tag(1)
            Text("C").tag(2)
            
        }.pickerStyle(SegmentedPickerStyle())
    }
    
}

person Krish    schedule 15.12.2020    source источник


Ответы (1)


@State var tabSelectedValue = 0
    var yourData = ["one", "Two", "Three"]

    var body: some View{
        
        VStack {
            Text("\(yourData[tabSelectedValue])")
            Picker(selection: $tabSelectedValue, label: Text("")) {
                Text("A").tag(0)
                Text("B").tag(1)
                Text("C").tag(2)
                
            }.pickerStyle(SegmentedPickerStyle())
        }
        
    }

Или вы можете использовать вместе с TabView,

struct ContentView: View {
    @State var tabSelectedValue = 0
    
    var body: some View{
        
        VStack {
            Picker(selection: $tabSelectedValue, label: Text("")) {
                Text("A").tag(0)
                Text("B").tag(1)
                Text("C").tag(2)
                
            }.pickerStyle(SegmentedPickerStyle())
            
            TabView(selection: $tabSelectedValue,
                    content:  {
                        Text("A Tab Content").tag(0)
                        Text("B Tab Content").tag(1)
                        Text("C Tab Content").tag(2)
                    })
                .tabViewStyle(PageTabViewStyle())
        }
    }
    
}

введите описание изображения здесь

person Yodagama    schedule 15.12.2020
comment
Большое спасибо за образец кода - person Krish; 05.01.2021