Swiftui 在选择器中选择选项卡时显示新视图

Swiftui 在选择器中选择选项卡时显示新视图,swiftui,picker,Swiftui,Picker,我有一个具有3个值的选择器。如何根据选择器选项卡的选择显示某些信息 @State var tabSelectedValue = 0 var body: some View{ VStack { Picker(selection: $tabSelectedValue, label: Text("")) { Text("A").tag(0) Text("B")

我有一个具有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())
    }
    
}
或者您可以与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())
        }
    }
    
}

结构选择器数据视图:视图{
变量数据:字符串
var body:一些观点{
文本(“选择器日期\(数据)”)
}
}
结构ContentView:View{
@状态私有变量tabSelectedValue=0
私有变量pickerData:[字符串]=[“A”、“B”、“C”]
var body:一些观点{
VStack{
pickerData视图(数据:“\(pickerData[tabSelectedValue]))
选择器(选择:$tabSelectedValue,标签:文本(“”){
ForEach(0..
非常感谢您提供的示例代码
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())
        }
    }
    
}
struct PickerDataView: View {
    var data: String
    
    var body: some View {
        Text("Picker Date \(data)")
    }
}

struct ContentView: View {
    @State private var tabSelectedValue = 0
    
    private var pickerData: [String] = ["A", "B", "C"]
    
    var body: some View {
        VStack {
            
            PickerDataView(data: "\(pickerData[tabSelectedValue])")

            Picker(selection: $tabSelectedValue, label: Text("")) {
                ForEach(0 ..< pickerData.count) {
                    Text(pickerData[$0]).tag($0)
                }
                
            }.pickerStyle(SegmentedPickerStyle())
        }
    }
}