【问题标题】:AutoCompleteTextField itemFilter in Flutter [closed]Flutter中的AutoCompleteTextField itemFilter [关闭]
【发布时间】:2020-12-30 09:44:57
【问题描述】:

我有一个课程列表,我需要在搜索时过滤它们 我需要能够搜索用户输入的每个单词 例如:如果我有名为营养基础的课程,如果我在搜索栏中输入基础知识,则没有任何显示,但如果我输入 nut 或什至 n 它可以工作。 这是我的代码: itemFilter: (suggestion, input) => suggestion.name .toLowerCase() .startsWith(input.toLowerCase()), 我怎样才能做我想要的过滤器?即使是字母“b”,我也需要搜索并且仍然得到结果营养基础知识。 我正在使用颤振和火力。

注意:我尝试了包含而不是 startWith,但是如果我有两门课程,一门营养基础知识和其他数学 500 基础知识,并且我搜索了单词基础知识,输入后的结果显示只有营养,我也需要能够也搜索字母,如 basics 中的 b 或 c.. 谢谢。

【问题讨论】:

    标签: android ios firebase flutter dart


    【解决方案1】:

    你使用了方法startsWith

    itemFilter: (suggestion, input) => suggestion.name .toLowerCase() .startsWith(input.toLowerCase()),
    

    使用 contains 而不是 startsWith

    itemFilter: (suggestion, input) => suggestion.name .toLowerCase() .contains(input.toLowerCase()),
    

    【讨论】:

    • 我之前也尝试过,但是如果我执行上述搜索字母的场景,即使是单词基础也不会显示建议
    • 能否提供更多代码。
    • _results = _toBeFilteredList .where((elem) => elem.name .toString() .toLowerCase() .contains(query.toLowerCase()) || elem.hS .toString() .toLowerCase () .contains(query.toLowerCase())) .toList();
    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 2018-10-23
    • 2021-04-07
    • 2021-05-27
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多