我想显示联系人列表中具有属性[id,名称,电话,电话号码]的id ='asdf-123'的联系人。
我可以做到
bool isContainId = false;
String testId = 'asdf-123';
contacts.foreach((contact) {
if (contact.id == testId) {
isContainId = true;
}
});
但是,还有什么更好的方法可以做到。类似于.contains
。请帮忙!。
答案 0 :(得分:2)
Contains
无法在dart中使用自定义模型,您必须遍历每个对象才能进行这种操作。
bool isContainId = false;
String testId = 'asdf-123';
isContainId = contacts.firstWhere((contact)=> contact.id == testId, orElse: (){isContainId = false;}) != null;
更新:
class CustomModel {
int id;
CustomModel({this.id});
}
void main() {
List<CustomModel> all = [];
for (var i = 0; i < 4; i++) {
all.add(CustomModel(id: i));
}
bool isContainId = false;
isContainId = all.firstWhere((contact)=> contact.id == 5, orElse: (){isContainId = false;}) != null;
print(isContainId);
}