异步加载下拉菜单-Flutter

时间:2018-08-31 21:47:10

标签: drop-down-menu flutter

我正在尝试使用包含国家/地区代码的电话输入来构建表单。本质上,我正在尝试做出类似以下的事情: enter image description here

我已经找到并清除了一个标志,国家及其代码列表,并构建了为任意索引创建DropdownMenuItem的方法。然后,我构造它们的列表,并将其传递到DropdownButton小部件。一切都非常简单,因此我认为代码不是必需的。但是,由于我有很多国家(地区),因此菜单项也很多,因此打开菜单时,菜单会明显滞后。因此,我想知道下拉菜单是否能够以比看起来更聪明的方式加载大量小部件。

下拉菜单是否可以加载所选索引周围的前10个左右的小部件并显示它们,因为这将是最初显示的全部内容,然后异步加载其余的小部件?我怀疑这将需要一个自定义的下拉菜单,但是我对Flutter下拉菜单的实现并不十分熟悉,因此我不确定如何进行此操作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我不认为“加载”在这里是实际的问题,更可能是小部件的渲染/构建。您可以使用ListView.builder之类的方法来改善情况,该方法可以按需构建项目。

似乎默认的下拉列表系统不基于ListView

您可以创建自己的下拉菜单版本(例如完整的类的自定义副本),这将需要大量的工作和研究。

或者,也可以使用带有嵌入式ListView的SimpleDialog之类的东西来显示列表。就像Android的this one