首页 > 解决方案 > 如何在颤振中创建自定义下拉搜索

问题描述

我想在我的项目中实现下拉搜索功能,但它只接受字符串类型的列表。我正在使用 API 获取数据,因此是类型对象模型的列表。如何使用自定义下拉搜索以便它接受我的模型类型列表?或者有什么方法可以将对象模型类型的列表转换为颤振中的字符串类型列表?任何解决方案都可以接受,在此先感谢。

标签: flutter

解决方案


是的,您可以从 API 映射您的对象并将它们显示为字符串。你可以这样做:

class CustomObject {
  final String name;
  final double data;

  CustomObject(this.name, this.data);
}

...
{
  final dataFromApi = [
    CustomObject('first', 20.0),
    CustomObject('second', 20.0),
  ];

  final mappedData = dataFromApi.map((element) => element.name).toList();

  // ['first', 'second']
}
...

然后您只需要找到一种方法将单击的下拉值与您的 api 数据列表进行比较并确定要选择的对象。

例如:

  final obj = dataFromApi.firstWhere((element) => element.name == selectedString);

推荐阅读