Размещение панели поиска в swiftui - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь добавить панель поиска в свое первое приложение. Я уже искал эту тему, и все, что я нашел, содержало массив как константу, но я использую json.

import SwiftUI
let menu = Bundle.main.decode([MenuSection].self, from: "menu.json")

struct ContentView: View {
    @State var buscar: String = ""
    var body: some View {
        NavigationView {
            VStack {

                List  {
                    ForEach(menu) { section in
                        Section(header: Busqueda(text: self.$buscar)) {
                            ForEach(section.items) {item in
                                detalleLinea(item: item)
                            }
                        }
                    }
                }.navigationBarTitle("Menu de opciones")
                    .listStyle(GroupedListStyle())
            }
        }
    }
}



struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Я уже пробовал разные вещи, но ничего из этого не помогло. Section(header: Busqueda(text: self.$buscar)) имел панель поиска и отлично работает - я вижу это в своем приложении, но я хочу применить фильтр в ForEach внутри

ForEach(section.items) {item in
    detalleLinea(item: item)
}

1 Ответ

0 голосов
/ 25 октября 2019

решено спасибо за помощь LuLuGaGa и все

struct ContentView: View {
    @State private var buscar: String = ""
    var body: some View {
        NavigationView {
            VStack {
                Busqueda(text: $buscar)
                List(menu.filter {
                    buscar.isEmpty ?
                        true :
                        "\($0)".localizedCaseInsensitiveContains(buscar)
                }, id: \.self) { item in
                    //                    ForEach(menu) {item1 in
                    detalleLinea(item: item)
                    //                    }
                }
            }.navigationBarTitle("Menu de opciones")
            //                 .listStyle(GroupedListStyle())
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...