Flutter: Сравнить строку со списком <String>Обратный вызов не работает - PullRequest
0 голосов
/ 21 февраля 2020

Я пишу функцию для сравнения, если строка содержит список ключевых слов (список строк). Я реализую ее как функцию обратного вызова из другого виджета во флаттере. Функция обратного вызова работает, однако метод сравнения внутри функции обратного вызова не работает.

Пожалуйста, отправьте справку /.\

  void callback(List<String> filterKeyword) {
    setState(() {
      this.filterKeyword = filterKeyword;
    });
    resFiltered.clear();
    res.forEach((res) {
      if (compareString(res.type, this.filterKeyword)) {
        resFiltered.add(res);
      }
    });
  }

  bool compareString(String inputStr, List<String> items) {
    if (items.length == 0) {
      return true;
    }
    for(int i = 0; i < items.length; i++) {
      if(inputStr.contains(items[i])) {
        return true;
      }
    }
    return false;
  }

1 Ответ

0 голосов
/ 02 марта 2020

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

enter image description here

Я надеюсь, что это будет помощь!

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