Я пишу функцию для сравнения, если строка содержит список ключевых слов (список строк). Я реализую ее как функцию обратного вызова из другого виджета во флаттере. Функция обратного вызова работает, однако метод сравнения внутри функции обратного вызова не работает.
Пожалуйста, отправьте справку /.\
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;
}