Flutter 可搜索下拉菜单

tro*_*vap 4 drop-down-menu flutter

我的应用程序中有一个小部件,我想在一类发酵物中搜索它们的名称。\n名称呈现正常,搜索效果很好,但是当我单击它们时,如果我保存vscode 上的应用程序,然后更新。

\n

我使用 Dropdown2 包,我发现它更容易实现,并且发现示例代码运行良好。

\n

这是我的代码。

\n
DropdownButtonHideUnderline(\n              child: DropdownButton2(\n                isExpanded: true,\n                hint: Text(\n                  'Selecione um ferment\xc3\xa1vel',\n                  style: textTheme.bodyMedium,\n                ),\n                items: fermentables\n                    .map((item) => DropdownMenuItem<String>(\n                          value: item.name.toLowerCase(),\n                          child: Text(\n                            item.name,\n                            style: const TextStyle(\n                              fontSize: 14,\n                            ),\n                          ),\n                        ))\n                    .toList(),\n                value: selectedFermentable,\n                onChanged: (value) {\n                  setState(() {\n                    selectedFermentable = value as String;\n                  });\n                },\n                buttonHeight: 40,\n                buttonWidth: 200,\n                itemHeight: 40,\n                dropdownMaxHeight: 400,\n                searchController: fermentableName,\n                searchInnerWidgetHeight: 50,\n                searchInnerWidget: Container(\n                  height: 50,\n                  padding: const EdgeInsets.only(\n                    top: 8,\n                    bottom: 4,\n                    right: 8,\n                    left: 8,\n                  ),\n                  child: TextFormField(\n                    expands: true,\n                    maxLines: null,\n                    controller: fermentableName,\n                    decoration: InputDecoration(\n                      isDense: true,\n                      contentPadding: const EdgeInsets.symmetric(\n                        horizontal: 10,\n                        vertical: 8,\n                      ),\n                      hintText: 'Pesquise um ferment\xc3\xa1vel',\n                      hintStyle: textTheme.bodyMedium,\n                      border: OutlineInputBorder(\n                        borderRadius: BorderRadius.circular(8),\n                      ),\n                    ),\n                  ),\n                ),\n                searchMatchFn: (item, searchValue) {\n                  return (item.value\n                      .toString()\n                      .toLowerCase()\n                      .contains(searchValue));\n                },\n                onMenuStateChange: (isOpen) {\n                  if (!isOpen) {\n                    fermentableName.clear();\n                  }\n                },\n              ),\n            ),\n
Run Code Online (Sandbox Code Playgroud)\n

小智 6

尝试使用dropdown_search它是我迄今为止发现的最好的下拉搜索