Как искать данные из списка с флажком во флаттере - PullRequest
0 голосов
/ 07 октября 2019

Я хочу выполнить поиск из списка, а также отобразить данные в этом списке с помощью флажка. это означает, что на этой фотографии у меня уже есть данные, но когда я нажимаю на поле поиска на панели приложения и начинаю поиск данных, он выдаст мне результат, основанный на данных поиска.

Здесь приведен полный исходный код проекта. https://github.com/rutvikgumasana/testing

This is the out of the code

1 Ответ

1 голос
/ 09 октября 2019

Я реализовал локальный поиск ваших данных в списке. Проверьте ниже код

Инициируйте объект глобального списка

List<ServicesByCountry> finalList = new List();

, передайте свой searchQuery в конструктор

final BspServiceBloc _bspServiceBloc;
final String searchQuery;
final List<int> servicesIds;
final Map<String, bool> selection;

  const BspServiceScreen({
    Key key,
    @required BspServiceBloc bspServiceBloc,
    @required this.servicesIds,
    @required this.selection,
    this.searchQuery,
  })  : _bspServiceBloc = bspServiceBloc,
        super(key: key);

, затем используйте код ниже для поиска

WidgetsBinding.instance.addPostFrameCallback((_) {
  if (widget.searchQuery != '') {
    finalList.clear();
    lovCountryServices.forEach((ServicesByCountry data) {
      if (data.name
          .toLowerCase()
          .contains(widget.searchQuery.toLowerCase())) {
        setState(() {
          finalList.add(data);
        });
      } else {
        data.services.forEach((Service services) {
          if (services.name
              .toLowerCase()
              .contains(widget.searchQuery.toLowerCase())) {
            setState(() {
              finalList.add(data);
            });
          }
        });
      }
    });
  } else {
    setState(() {
      finalList.clear();
      finalList.addAll(lovCountryServices);
    });
  }
});

затем передайте окончательный список в ваш виджет listView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...