首页 > 解决方案 > 基于段选择的两个不同实体的列表

问题描述

我不知道这是否可能。我希望根据细分中选择的内容,列表更改实体。与 Apple 在其示例中使用地标所做的类似,但不是收藏夹......

var body: some View {
    VStack {
        GeometryReader { geometry in
            TabView {
                NavigationView {
                    List {
                        VStack {
                            Picker(selection: self.$userData.tipoSeleccionado,
                                   label: Text("....?")) {
                                ForEach(0..<self.Tipo.count) { index in
                                    Text(self.Tipo[index]).tag(index)
                                }
                            }   .pickerStyle(SegmentedPickerStyle())
                        }
                        if self.containedViewType == .tipo1 {
                            ForEach(self.listadoTipo1, id: \.self) { elemento in
                                NavigationLink(destination: Tipo1Detail(elementoSeleccionado: elemento)) {
                                    Tipo1Row(tipo: elemento)
                                }   .navigationBarTitle("Busqueda")
                                    .navigationBarHidden(false)
                            }   .onDelete(perform: self.removeTipo1)
                        }
                        if self.containedViewType == .tipo2 {
                            ForEach(self.listadoTipo2, id: \.self) { elemento in
                                NavigationLink(destination: Tipo2Detail(elementoSeleccionado: elemento)) {
                                    Tipo2Row(tipo: elemento)
                                }   .navigationBarTitle("Busqueda")
                                    .navigationBarHidden(false)
                             }   .onDelete(perform: self.removeTipo2)
                         }
                     } // List
                 }
             }
         }
     }
 }

标签: listforeachentityswiftui

解决方案


推荐阅读