我有一个列表,其中包含要从中过滤数据的单个值和映射。
例如
List _filters = [];
String _minPrice = '';
String _maxPrice = '';
//_filters = ['Car', 'House', 6, {'minPrice': '5000', 'maxPrice': '6000'}]
我希望能够访问minPrice和maxPrice,以便可以使用它们,但是我不确定如何访问它们。
String get minPrice {
return _minPrice;
}
String get maxPrice {
return _maxPrice;
}
列表是动态的,没有特定顺序。
用例是用户正在过滤数据,而其中一个过滤器是
{'minPrice' : '5000', 'maxPrice': '6000'}
答案 0 :(得分:2)
根据此示例,您可以使用list.whereType()以便按类型访问。 https://coflutter.com/dart-filter-items-in-a-list-by-type/
这是获取属性的完整代码,
List _filters = ['Car', 'House', 6, {'minPrice': '5000', 'maxPrice': '6000'}];
final iterableMap = _filters.whereType<Map>().first;
print(iterableMap['minPrice']);
如果要访问所有地图,则可以使用以下命令:
// this will return iterable
final iterableMap = _filters.whereType<Map>();
if (!iterableMap.moveNext()) {
final map = iterableMap.current();
}