我想在 Dropdown Flutter/Dart 中实现文本搜索。
我想使用 Flutter/Dart DropdownMenu 类。
我不想使用 DropDownButton b/c 它没有搜索功能。
DropdownMenu Search 类有 SearchCallBack。
DropdownMenu 类有 3 个关键内容:List、Controller 和 SearchCallBack。
我想使用Controller来搜索Controller的输入文本。
SearchCallBack 有两个功能:列表和查询。
我不确定如何正确定义 SearchCallBack。
您能否提供 SearchCallBack 的示例。
谢谢你
想象一个函数,它接受
DropdownMenuEntry
(“条目”)和 String
(“查询”)的列表,并返回 int
作为列表中与字符串匹配的 DropdownMenuEntry
的索引。这是您作为 SearchCallback
参数传递的函数。如果将其留空,它将默认为返回包含查询的第一个条目的索引的函数。您可以编写自己的函数来自定义搜索。例如,您可以编写一个函数,该函数返回与查询完全匹配的第一个条目的索引。
DropdownMenu<Text>(
searchCallback: (List<DropdownMenuEntry<Text>> entries, String query) {
if (query.isEmpty) {
return null;
}
final int index = entries.indexWhere((DropdownMenuEntry<Text> entry) => entry.label == query);
return index != -1 ? index : null;
},
dropdownMenuEntries: const <DropdownMenuEntry<Text>>[],
)