flutter - 如何在颤振中创建自定义下拉搜索
问题描述
我想在我的项目中实现下拉搜索功能,但它只接受字符串类型的列表。我正在使用 API 获取数据,因此是类型对象模型的列表。如何使用自定义下拉搜索以便它接受我的模型类型列表?或者有什么方法可以将对象模型类型的列表转换为颤振中的字符串类型列表?任何解决方案都可以接受,在此先感谢。
解决方案
是的,您可以从 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);
推荐阅读
- azure - Azure Devops:通用发布上传 0 mb
- flutter - 当我将新包添加到依赖项时,Flutter pub 失败
- sql - 用 Excel for Windows 编写的宏 在 Mac Excel 中不起作用
- path - Rocket Dock Chrome 路径无效
- python - 我无法在 Python 3.9 代码中读/写文件
- python - 按特定列比较两个数据框并返回另一个中不存在的行
- angular - 角材料排序嵌套表
- geckodriver - 是否有用于比例因子的 firefoxOptions?
- mysql - MySQL 从管道分隔字符串中搜索
- python - 在 Python Selenium 中返回外部函数错误